skinitem.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef __SKINITEM_H
  2. #define __SKINITEM_H
  3. #include <bfc/dispatch.h>
  4. #include "../xml/ifc_xmlreaderparams.h"
  5. class skin_xmlreaderparams;
  6. class SkinItem : public Dispatchable
  7. {
  8. public:
  9. const wchar_t *getXmlRootPath();
  10. const wchar_t *getName();
  11. ifc_xmlreaderparams *getParams();
  12. int getSkinPartId();
  13. SkinItem *getAncestor();
  14. enum
  15. {
  16. SKINITEM_GETXMLROOTPATH = 0,
  17. SKINITEM_GETNAME = 10,
  18. SKINITEM_GETPARAMS = 20,
  19. SKINITEM_GETSKINPARTID = 30,
  20. SKINITEM_GETANCESTOR = 40,
  21. };
  22. };
  23. inline const wchar_t *SkinItem::getXmlRootPath()
  24. {
  25. return _call(SKINITEM_GETXMLROOTPATH, (const wchar_t *)0);
  26. }
  27. inline const wchar_t *SkinItem::getName()
  28. {
  29. return _call(SKINITEM_GETNAME, (const wchar_t *)0);
  30. }
  31. inline ifc_xmlreaderparams *SkinItem::getParams()
  32. {
  33. return _call(SKINITEM_GETPARAMS, (ifc_xmlreaderparams *)NULL);
  34. }
  35. inline int SkinItem::getSkinPartId()
  36. {
  37. return _call(SKINITEM_GETSKINPARTID, (int)0);
  38. }
  39. inline SkinItem *SkinItem::getAncestor()
  40. {
  41. return _call(SKINITEM_GETANCESTOR, (SkinItem *)NULL);
  42. }
  43. class SkinItemI : public SkinItem
  44. {
  45. public:
  46. virtual const wchar_t *getXmlRootPath()=0;
  47. virtual const wchar_t *getName()=0;
  48. virtual ifc_xmlreaderparams *getParams()=0;
  49. virtual int getSkinPartId()=0;
  50. virtual SkinItem *getAncestor()=0;
  51. protected:
  52. RECVS_DISPATCH;
  53. };
  54. #endif