From 7b92e4acf6dea29348efeb4c0cc89e3071aee56e Mon Sep 17 00:00:00 2001 From: sappho Date: Fri, 14 Jul 2023 07:19:14 -0400 Subject: ci fixes and repo cleanup + small tweaks and first release (#2) * Update docker_build.yml * Update docker_build.yml * Update docker_build.yml * attempt to lint * use tags * Update docker_build.yml * reorganize repo * correct typo with build dir * hacky chmod/chown for docker builds * more hacks for chmod * try to hack docker to work again * fix invalid syntax * remove extension in repo, remove spaces, fixup gitignore * twiddle around with making releases with commits * more ci testing to use non deprecated actions * Update docker_build.yml * more ci twiddling (ugh) * more lint and run the actual job now * lint more and use deb slim * autogen rel notes (?) * fixup bad quotes * sigh. fix quotes again * save beta autotagging for a later date * gitignore * fix so users don't use removed hash funcs * add max dbg info to ext * update versionings --- extension/curlmanager.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 extension/curlmanager.h (limited to 'extension/curlmanager.h') diff --git a/extension/curlmanager.h b/extension/curlmanager.h new file mode 100644 index 0000000..f1362a4 --- /dev/null +++ b/extension/curlmanager.h @@ -0,0 +1,48 @@ +#ifndef _INCLUDE_SOURCEMOD_EXTENSION_CURLMANAGER_H_ +#define _INCLUDE_SOURCEMOD_EXTENSION_CURLMANAGER_H_ + +#include "extension.h" +#include "curlthread.h" + +class cURLManager +{ +public: + void SDK_OnLoad(); + void SDK_OnUnload(); + +public: + void CreatecURLThread(cURLThread *thread); + void RemovecURLThread(cURLThread *thread); + +public: + void RemovecURLHandle(cURLHandle *handle); + bool AddcURLOptionString(cURLHandle *handle, CURLoption opt, char *value); + bool AddcURLOptionInt(cURLHandle *handle, CURLoption opt, int value); + bool AddcURLOptionInt64(cURLHandle *handle, CURLoption opt, long long value); + bool AddcURLOptionHandle(IPluginContext *pContext, cURLHandle *handle, HandleSecurity *sec, CURLoption opt, Handle_t hndl); + bool AddcURLOptionFunction(IPluginContext *pContext, cURLHandle *handle, CURLoption opt, IPluginFunction *pFunction, int value); + void LoadcURLOption(cURLHandle *handle); + +private: + void RemoveLinkedICloseHelper(cURLHandle *handle); + +public: + CURLFORMcode cURLFormAdd(IPluginContext *pContext, const cell_t *params, WebForm *handle); + +public: + void AddCloseHelperHandle(ICloseHelper *helper); + void RemoveCloseHelperHandle(ICloseHelper *helper); + +private: + bool waiting; + IMutex *curlhandle_list_mutex; + IMutex *closehelper_list_mutex; + IEventSignal *shutdown_event; + SourceHook::List g_cURLThread_List; + SourceHook::List g_CloseHelper_List; +}; + +extern cURLManager g_cURLManager; + +#endif + -- cgit v1.2.3