rxkernel.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. #ifndef _rxkernel_h
  12. #define _rxkernel_h 1
  13. #include "rxsrvice.h"
  14. #pragma pack (push, 8)
  15. class AcRxClass;
  16. class AcRxDictionary;
  17. class ADESK_NO_VTABLE AcRxKernel : public AcRxService
  18. {
  19. public:
  20. ACRX_DECLARE_MEMBERS(AcRxKernel);
  21. AcRxKernel();
  22. virtual ~AcRxKernel();
  23. virtual
  24. AcRxDictionary* newAcRxDictionary(Adesk::Boolean sorted = Adesk::kTrue,
  25. Adesk::Boolean ignoreCase
  26. = Adesk::kFalse) = 0;
  27. virtual
  28. AcRxDictionary* newAcRxDictionary(Adesk::UInt32 length,
  29. Adesk::Boolean delObjects,
  30. Adesk::Boolean sorted = Adesk::kTrue,
  31. Adesk::Boolean ignoreCase
  32. = Adesk::kFalse) = 0;
  33. virtual
  34. AcRxDictionary* newAcRxDictionary(const AcRxClass * filter) = 0;
  35. };
  36. #define acrxKernel \
  37. AcRxKernel::cast(AcRxDictionary::cast(\
  38. acrxSysRegistry()->at(ACRX_SERVICE_DICTIONARY))->at(ACRX_KERNEL_SERVICES))
  39. #pragma pack (pop)
  40. #endif