iaggregate.h 938 B

1234567891011121314151617181920212223242526272829303132333435
  1. // This header file defines the base aggregate structure. Every
  2. // aggregate must have a link to its next one and a pointer
  3. // to certain functions that an aggregate must supply.
  4. // When implementing an aggregate, you MUST derive from this!
  5. // (In C, just put it as the first member in your structure..)
  6. #ifndef __IAGGREGATE_H__
  7. #define __IAGGREGATE_H__
  8. #include "ltserverobj.h"
  9. class IAggregate
  10. {
  11. public :
  12. IAggregate() {}
  13. virtual ~IAggregate() {}
  14. virtual uint32 EngineMessageFn(LPBASECLASS pObject, uint32 messageID, void *pData, LTFLOAT lData) { return 1; }
  15. virtual uint32 ObjectMessageFn(LPBASECLASS pObject, HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead) { return 1; }
  16. public:
  17. // Very important that these data members are EXACTLY the same as
  18. // the C version of this class (Aggregate_t)...
  19. IAggregate *m_pNextAggregate;
  20. };
  21. #endif // __IAGGREGATE_H__