diff options
Diffstat (limited to 'Src/Winamp/JSAPI2_Security.h')
-rw-r--r-- | Src/Winamp/JSAPI2_Security.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Src/Winamp/JSAPI2_Security.h b/Src/Winamp/JSAPI2_Security.h new file mode 100644 index 00000000..a7bbe914 --- /dev/null +++ b/Src/Winamp/JSAPI2_Security.h @@ -0,0 +1,43 @@ +#pragma once +#include "JSAPI2_api_security.h" +#include <bfc/platform/types.h> +#include <map> +#include <vector> +#include "JSAPI_Info.h" + +namespace JSAPI2 +{ + class Security : public JSAPI2::api_security + { + public: + ~Security(); + static const char *getServiceName() { return "JSAPI2 Security API"; } + static const GUID getServiceGuid() { return api_securityGUID; } + int GetActionAuthorization(const wchar_t *group, const wchar_t *action, const wchar_t *authorization_key, JSAPI::ifc_info *info, int default_authorization = ACTION_UNDEFINED, AuthorizationData *data = 0); + int SetActionAuthorization(const wchar_t *group, const wchar_t *action, const wchar_t *authorization_key, int authorization); + void Associate(const wchar_t *authorization_key, HWND hwnd); + HWND GetAssociation(const wchar_t *authorization_key); + int SecurityPrompt(HWND hwnd, const wchar_t *title_string, const wchar_t *display_string, int flags); + void AssociateName(const wchar_t *authorization_key, const wchar_t *name); + const wchar_t *GetAssociatedName(const wchar_t *authorization_key); + void ResetAuthorization(const wchar_t *authorization_key); + void SetBypass(const wchar_t *authorization_key, bool enable_bypass); + + protected: + bool IsAuthorizationBypassed(const wchar_t *authorization_key); + + protected: + RECVS_DISPATCH; + + + private: + typedef std::map<uint32_t, wchar_t*> NameMap; + typedef std::map<uint32_t, void*> AssociationMap; + typedef std::vector<uint32_t> BypassList; + AssociationMap associations; + NameMap names; + BypassList bypassList; + }; + + extern Security security; +}
\ No newline at end of file |