summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-05-25 19:07:12 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-05-25 19:07:12 +0000
commite6efff93cd164a51796e485589dd677d2b204345 (patch)
treed3e43d4202d80395f6b9c71701da848a4204b202
parent2afcb5082acababf52116edababce9b87b034f23 (diff)
git-svn-id: http://svn.miranda-ng.org/main/trunk@4821 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--include/delphi/m_pluginupdater.inc72
-rw-r--r--include/m_pluginupdater.h67
2 files changed, 139 insertions, 0 deletions
diff --git a/include/delphi/m_pluginupdater.inc b/include/delphi/m_pluginupdater.inc
new file mode 100644
index 0000000000..f47fe09aeb
--- /dev/null
+++ b/include/delphi/m_pluginupdater.inc
@@ -0,0 +1,72 @@
+{
+Miranda NG: the free IM client for Microsoft* Windows*
+
+Copyright 2012 Miranda NG project,
+all portions of this codebase are copyrighted to the people
+listed in contributors.txt.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+}
+
+
+{$IFNDEF M_PLUGINUPDATER}
+{$DEFINE M_PLUGINUPDATER}
+
+type
+ pPUHashItem = ^TPUHashItem;
+ TPUHashItem = record
+ fileName :PWideChar; // file name
+ fileCrc :int; // zip's crc
+ hash :array [0..32] of char; // file's md5 hash
+ end;
+
+const
+{
+ Parses hashes.zip file at the specified URL and fills the base url buffer.
+ later a plugin can use it to address files. %platform% macro is allowed,
+ it expands to 32 or 64 depending on a Miranda's platform. For example,
+ http://miranda-ng.org/distr/stable/x%platform%
+
+ wParam = (PWideChar)ptszUrl = url of hashes.zip
+ lParam = (array [1..260] of PWideChar)ptszBaseUrl = decoded base url
+ return = (THandle)array of hash items or NULL on error
+}
+ MS_PU_PARSEHASHES = 'PluginUpdater/ParseHashes';
+
+{
+ Frees the hashes handle
+ wParam = 0 (unused)
+ lParam = (THandle) handle, returned from MS_PU_PARSEHASHES
+ return = always returs 0
+}
+ MS_PU_FREEHASHES = 'PluginUpdater/FreeHashes';
+
+{
+ Gets number of hashes
+ wParam = 0 (unused)
+ lParam = (THandle) handle, returned from MS_PU_PARSEHASHES
+ return = (int)number of hashes in an object
+}
+ MS_PU_GETHASHCOUNT = 'PluginUpdater/GetHashCount';
+
+{
+ Gets concrete hash by index
+ wParam = (int)zero-based index (0..MS_PU_GETHASHCOUNT-1)
+ lParam = (THandle) handle, returned from MS_PU_PARSEHASHES
+ return = (PU_HASH_ITEM*)pointer to a hash structure
+}
+ MS_PU_GETNTHHASH = 'PluginUpdater/GetNthCount';
+
+{$ENDIF}
diff --git a/include/m_pluginupdater.h b/include/m_pluginupdater.h
new file mode 100644
index 0000000000..c0a897bda1
--- /dev/null
+++ b/include/m_pluginupdater.h
@@ -0,0 +1,67 @@
+/*
+
+Miranda NG: the free IM client for Microsoft* Windows*
+
+Copyright 2012 Miranda NG project,
+all portions of this codebase are copyrighted to the people
+listed in contributors.txt.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+
+#ifndef M_PLUGINUPDATER_H__
+#define M_PLUGINUPDATER_H__ 1
+
+typedef struct {
+ TCHAR *m_fileName;
+ DWORD m_zipCrc;
+ char m_hash;
+}
+ PU_HASH_ITEM;
+
+//Parses hashes.zip file at the specified URL and fills the base url buffer.
+//later a plugin can use it to address files. %platform% macro is allowed,
+//it expands to 32 or 64 depending on a Miranda's platform. For example,
+// http://miranda-ng.org/distr/stable/x%platform%
+//
+//wParam = (TCHAR*)ptszUrl = url of hashes.zip
+//lParam = (TCHAR[260])ptszBaseUrl = decoded base url
+//return = (HANDLE)array of hash items or NULL on error
+
+#define MS_PU_PARSEHASHES "PluginUpdater/ParseHashes"
+
+//Frees the hashes handle
+//wParam = 0 (unused)
+//lParam = (HANDLE) handle, returned from MS_PU_PARSEHASHES
+//return = always returs 0
+
+#define MS_PU_FREEHASHES "PluginUpdater/FreeHashes"
+
+//Gets number of hashes
+//wParam = 0 (unused)
+//lParam = (HANDLE) handle, returned from MS_PU_PARSEHASHES
+//return = (int)number of hashes in an object
+
+#define MS_PU_GETHASHCOUNT "PluginUpdater/GetHashCount"
+
+//Gets concrete hash by index
+//wParam = (int)zero-based index (0..MS_PU_GETHASHCOUNT-1)
+//lParam = (HANDLE) handle, returned from MS_PU_PARSEHASHES
+//return = (PU_HASH_ITEM*)pointer to a hash structure
+
+#define MS_PU_GETNTHHASH "PluginUpdater/GetNthCount"
+
+#endif // M_PLUGINUPDATER_H__