summaryrefslogtreecommitdiff
path: root/Svc_dbepp/knownmodules.cpp
diff options
context:
space:
mode:
authormataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 15:41:10 +0000
committermataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 15:41:10 +0000
commitf04d64869f3b1de54fb343f28f955584780001b8 (patch)
tree5453dc10de3d980de79ffe019fa0b5fcb692a27d /Svc_dbepp/knownmodules.cpp
parent7aff1e4cb053394db57c2814d5fe1e6493e0cc75 (diff)
Project folders rename part 3
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'Svc_dbepp/knownmodules.cpp')
-rw-r--r--Svc_dbepp/knownmodules.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/Svc_dbepp/knownmodules.cpp b/Svc_dbepp/knownmodules.cpp
new file mode 100644
index 0000000..13c4379
--- /dev/null
+++ b/Svc_dbepp/knownmodules.cpp
@@ -0,0 +1,84 @@
+#include "headers.h"
+
+BYTE UseKnownModList;
+
+#define MAXMODS 1024
+char *KnownModules[MAXMODS];
+int KnownModulesCount = 0;
+
+INT_PTR RegisterModule(WPARAM wParam, LPARAM lParam)
+{
+ char **mods = (char**)wParam;
+ int count = lParam;
+ int i;
+ for (i=0;i<count && KnownModulesCount<MAXMODS;i++)
+ KnownModules[KnownModulesCount++] = mir_tstrdup(mods[i]);
+ return 0;
+}
+
+INT_PTR RegisterSingleModule(WPARAM wParam, LPARAM lParam)
+{
+ char *mods = (char*)wParam;
+ if (KnownModulesCount<MAXMODS)
+ KnownModules[KnownModulesCount++] = mir_tstrdup(mods);
+ return 0;
+}
+
+int IsModuleKnown(char *module)
+{
+ int i;
+
+ if (!UseKnownModList) return 1; // not using known list so all are "known"
+
+ for(i=0;i<KnownModulesCount;i++)
+ {
+ if (KnownModules[i] && !mir_strcmp(module,KnownModules[i]))
+ return 1;
+ }
+
+ return 0;
+}
+
+void FreeKnownModuleList()
+{
+ int i;
+ for(i=0;i<KnownModulesCount;i++)
+ {
+ mir_free(KnownModules[i]);
+ }
+}
+
+void doOldKnownModulesList()
+{
+ ModuleSettingLL msll;
+ struct ModSetLinkLinkItem *setting;
+ DBVARIANT dbv;
+ char *var, *temp;
+
+ if (!EnumSettings(NULL,"KnownModules", &msll)) return;
+
+ setting = msll.first;
+ while(setting)
+ {
+ if (!DBGetContactSetting(NULL,"KnownModules",setting->name,&dbv) && dbv.type == DBVT_ASCIIZ)
+ {
+ temp = (char*)mir_alloc((strlen(dbv.pszVal)+5)*sizeof(char));
+ if (!temp) break;
+ strcpy(temp,dbv.pszVal);
+ strcat(temp,",\0");
+ var = strtok(temp,", ");
+ while (var)
+ {
+ if (KnownModulesCount<MAXMODS)
+ KnownModules[KnownModulesCount++] = mir_tstrdup(var);
+ var = strtok(NULL,", ");
+ }
+ mir_free(temp);
+ }
+ DBFreeVariant(&dbv);
+ setting = (struct ModSetLinkLinkItem *)setting->next;
+ }
+ FreeModuleSettingLL(&msll);
+
+ UseKnownModList = DBGetContactSettingByte(NULL,modname,"UseKnownModList",0);
+}