summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/m_db_int.h11
-rw-r--r--src/modules/database/dbintf.cpp6
2 files changed, 17 insertions, 0 deletions
diff --git a/include/m_db_int.h b/include/m_db_int.h
index 2fd70ceec5..7a4e3759e4 100644
--- a/include/m_db_int.h
+++ b/include/m_db_int.h
@@ -134,4 +134,15 @@ __inline static DATABASELINK* FindDatabasePlugin(const TCHAR* ptszFileName)
{ return (DATABASELINK*)CallService(MS_DB_FIND_PLUGIN, 0, (LPARAM)ptszFileName);
}
+// MS_DB_GET_CURRENT : returns the database pointer for the current profile
+// wParam : 0 (unused)
+// lParam : 0 (unused)
+// returns MIDatabase* of the current profile or NULL on error
+
+#define MS_DB_GET_CURRENT "DB/GetCurrentDb"
+
+__inline static MIDatabase* GetCurrentDatabase(void)
+{ return (MIDatabase*)CallService(MS_DB_GET_CURRENT, 0, 0);
+}
+
#endif // M_DB_INT_H__
diff --git a/src/modules/database/dbintf.cpp b/src/modules/database/dbintf.cpp
index 2f7cf4ea72..4c5e19607c 100644
--- a/src/modules/database/dbintf.cpp
+++ b/src/modules/database/dbintf.cpp
@@ -186,6 +186,11 @@ static INT_PTR srvFindPlugin(WPARAM wParam,LPARAM lParam)
return NULL;
}
+static INT_PTR srvGetCurrentDb(WPARAM wParam,LPARAM lParam)
+{
+ return (INT_PTR)currDb;
+}
+
///////////////////////////////////////////////////////////////////////////////
int LoadDbintfModule()
@@ -226,5 +231,6 @@ int LoadDbintfModule()
CreateServiceFunction(MS_DB_REGISTER_PLUGIN, srvRegisterPlugin);
CreateServiceFunction(MS_DB_FIND_PLUGIN, srvFindPlugin);
+ CreateServiceFunction(MS_DB_GET_CURRENT, srvGetCurrentDb);
return 0;
}