diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj
--- a/trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj Sun May 03 14:56:13 2015 +0200
@@ -163,6 +163,7 @@
+
@@ -178,6 +179,7 @@
+
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj.filters
--- a/trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj.filters Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Examples/C++-Skeleton/projects/vs2012/Plugin.vcxproj.filters Sun May 03 14:56:13 2015 +0200
@@ -60,6 +60,9 @@
Source Files\Plugin SDK
+
+ Source Files\Plugin SDK
+
@@ -107,6 +110,9 @@
Header Files\Plugin SDK
+
+ Header Files\Plugin SDK
+
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.cpp
--- a/trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.cpp Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.cpp Sun May 03 14:56:13 2015 +0200
@@ -142,6 +142,12 @@
return f(reinterpret_cast(pObject), reinterpret_cast(pData), bBreak); });
}
+void Hooks::DataAccessor::onHTTPFileNotification(function f) {
+ addEvent(HOOK_DATAACESSOR_HTTP_FILE_NOTIFICATION, [f](dcptr_t pFile, dcptr_t pData, bool& bBreak) {
+ return f(reinterpret_cast(pFile), reinterpret_cast(pData), bBreak);
+ });
+}
+
bool Hooks::empty() {
return events.empty();
}
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.hpp
--- a/trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.hpp Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Libraries/dcapi/Hooks.hpp Sun May 03 14:56:13 2015 +0200
@@ -97,6 +97,11 @@
static void onChatCommandPM(function f);
};
+ struct DataAccessor
+ {
+ static void onHTTPFileNotification(function f);
+ };
+
static bool empty();
static void clear();
static void remove(const char* id);
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Libraries/dcapi/PluginDefs.h
--- a/trunk/dc-plugin-sdk/Libraries/dcapi/PluginDefs.h Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Libraries/dcapi/PluginDefs.h Sun May 03 14:56:13 2015 +0200
@@ -82,6 +82,9 @@
#define DCINTF_DCPP_UI "dcpp.ui.DCUI" /* User interface */
#define DCINTF_DCPP_UI_VER 1
+#define DCINTF_DCPP_DATAACCESSOR "dcpp.dataaccessor.DCDataAccess" /* Data access */
+#define DCINTF_DCPP_DATAACCESSOR_VER 1
+
/* Hook GUID's for Hooks (events) system */
#define HOOK_CHAT_IN "dcpp.chat.onIncomingChat" /* Incoming chat from hub (obj: HubData) */
#define HOOK_CHAT_OUT "dcpp.chat.onOutgoingChat" /* Outgoing chat (obj: HubData) */
@@ -114,6 +117,8 @@
#define HOOK_UI_CHAT_COMMAND "dcpp.ui.onChatCommand" /* Client side commands in hub chat (obj: HubData; data: CommandData) */
#define HOOK_UI_CHAT_COMMAND_PM "dcpp.ui.onChatCommandPM" /* Client side commands in private chat (obj: UserData; data: CommandData) */
+#define HOOK_DATAACESSOR_HTTP_FILE_NOTIFICATION "dcpp.dataaccessor.onHTTPFileNotification" /* Notification that transfer has completed or failed */
+
/* Main hook events (returned by pluginInit) */
typedef enum tagPluginState {
ON_INSTALL = 0, /* Replaces ON_LOAD for the very first loading of the plugin */
@@ -291,6 +296,11 @@
uint32_t apiVersion;
} DCInterface, *DCInterfacePtr;
+typedef struct {
+ const void* pData;
+ uint64_t size;
+} DataArray, *DataArrayPtr;
+
/* Core plugin system */
typedef struct tagDCCore {
/* Core API version */
@@ -459,6 +469,16 @@
void (DCAPI *notify) (const char* title, const char* message);
} DCUI, *DCUIPtr;
+/* Data access */
+typedef struct DCDataAccess {
+ uint32_t apiVersion;
+
+ void (DCAPI *get_http_file) (const char* uri, const char* localPath);
+
+ DataArrayPtr (DCAPI *copy) (const DataArrayPtr hItem);
+ void (DCAPI *release) (DataArrayPtr hCopy);
+} DCDataAcess, *DCDataAccessPtr;
+
#ifdef __cplusplus
}
#endif
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj
--- a/trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj Sun May 03 14:56:13 2015 +0200
@@ -166,6 +166,7 @@
+
@@ -178,6 +179,7 @@
+
diff -r 1b6a71cb9fbe trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj.filters
--- a/trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj.filters Sat Feb 28 14:44:16 2015 +0100
+++ b/trunk/dc-plugin-sdk/Libraries/dcapi/projects/vs2012/dcapi.vcxproj.filters Sun May 03 14:56:13 2015 +0200
@@ -45,6 +45,9 @@
Source Files
+
+ Source Files
+
@@ -80,5 +83,8 @@
Header Files
+
+ Header Files
+
\ No newline at end of file