rxsrvice.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Copyright 2015 Autodesk, Inc. All rights reserved.
  5. //
  6. // Use of this software is subject to the terms of the Autodesk license
  7. // agreement provided at the time of installation or download, or which
  8. // otherwise accompanies this software in either electronic or hard copy form.
  9. //
  10. //////////////////////////////////////////////////////////////////////////////
  11. //
  12. #ifndef _rxsrvice_h
  13. #define _rxsrvice_h 1
  14. #include "rxobject.h"
  15. #pragma pack (push, 8)
  16. extern "C" {
  17. typedef AcRx::AppRetCode (*DepFuncPtr)(AcRx::AppMsgCode, void*);
  18. }
  19. class AcRxServicePrototype;
  20. class AcRxService;
  21. class AcRxService: public AcRxObject
  22. {
  23. public:
  24. ACRX_DECLARE_MEMBERS(AcRxService);
  25. AcRxService();
  26. virtual ~AcRxService();
  27. AcRxObject* getSysInfo() const;
  28. void setSysInfo(AcRxObject* sysInfoObj);
  29. void addDependency();
  30. void removeDependency();
  31. Adesk::Boolean unloadable() const;
  32. // The following functions are not currently implemented
  33. // They are present as place holders so that they can be
  34. // implemented in the future without breaking binary
  35. // compatibility
  36. //
  37. DepFuncPtr dependencyFunctionPtr();
  38. void setDependencyFunctionPtr(DepFuncPtr);
  39. private:
  40. AcRxServicePrototype* mpImpService;
  41. };
  42. #pragma pack (pop)
  43. #endif