Advertisement
expired6978

IPluginInterface.h

Aug 10th, 2015
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <map>
  4.  
  5. struct SKSESerializationInterface;
  6.  
  7. class IPluginInterface
  8. {
  9. public:
  10.     IPluginInterface() { };
  11.     virtual ~IPluginInterface();
  12.  
  13.     virtual UInt32 GetVersion();
  14.     virtual void Save(SKSESerializationInterface * intfc, UInt32 kVersion);
  15.     virtual bool Load(SKSESerializationInterface * intfc, UInt32 kVersion);
  16.     virtual void Revert();
  17. };
  18.  
  19. class IInterfaceMap : public std::map<const char*, IPluginInterface*>
  20. {
  21. public:
  22.     virtual IPluginInterface * QueryInterface(const char * name);
  23.     virtual bool AddInterface(const char * name, IPluginInterface * pluginInterface);
  24.     virtual IPluginInterface * RemoveInterface(const char * name);
  25. };
  26.  
  27. struct InterfaceExchangeMessage
  28. {
  29.     enum
  30.     {
  31.         kMessage_ExchangeInterface = 0x9E3779B9
  32.     };
  33.  
  34.     IInterfaceMap * interfaceMap = NULL;
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement