api_config.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. // ----------------------------------------------------------------------------
  2. // Generated by InterfaceFactory [Thu May 15 21:06:24 2003]
  3. //
  4. // File : api_config.h
  5. // Class : api_config
  6. // class layer : Dispatchable Interface
  7. // ----------------------------------------------------------------------------
  8. #ifndef __API_CONFIG_H
  9. #define __API_CONFIG_H
  10. #include <bfc/dispatch.h>
  11. #include <bfc/platform/types.h>
  12. class CfgItem;
  13. class ConfigFile;
  14. // ----------------------------------------------------------------------------
  15. class NOVTABLE api_config: public Dispatchable
  16. {
  17. protected:
  18. api_config() {}
  19. ~api_config() {}
  20. public:
  21. void config_registerCfgItem(CfgItem *cfgitem);
  22. void config_deregisterCfgItem(CfgItem *cfgitem);
  23. int config_getNumCfgItems();
  24. CfgItem *config_enumCfgItem(int n);
  25. CfgItem *config_getCfgItemByGuid(GUID g);
  26. void setIntPrivate(const wchar_t *name, int val);
  27. int getIntPrivate(const wchar_t *name, int def_val);
  28. void setIntArrayPrivate(const wchar_t *name, const int *val, int nval);
  29. int getIntArrayPrivate(const wchar_t *name, int *val, int nval);
  30. void setStringPrivate(const wchar_t *name, const wchar_t *str);
  31. int getStringPrivate(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str);
  32. int getStringPrivateLen(const wchar_t *name);
  33. void setIntPublic(const wchar_t *name, int val);
  34. int getIntPublic(const wchar_t *name, int def_val);
  35. void setStringPublic(const wchar_t *name, const wchar_t *str);
  36. int getStringPublic(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str);
  37. protected:
  38. enum {
  39. API_CONFIG_CONFIG_REGISTERCFGITEM = 10,
  40. API_CONFIG_CONFIG_DEREGISTERCFGITEM = 20,
  41. API_CONFIG_CONFIG_GETNUMCFGITEMS = 30,
  42. API_CONFIG_CONFIG_ENUMCFGITEM = 40,
  43. API_CONFIG_CONFIG_GETCFGITEMBYGUID = 50,
  44. API_CONFIG_SETINTPRIVATE = 60,
  45. API_CONFIG_GETINTPRIVATE = 70,
  46. API_CONFIG_SETINTARRAYPRIVATE = 80,
  47. API_CONFIG_GETINTARRAYPRIVATE = 90,
  48. API_CONFIG_SETSTRINGPRIVATE = 100,
  49. API_CONFIG_GETSTRINGPRIVATE = 110,
  50. API_CONFIG_GETSTRINGPRIVATELEN = 120,
  51. API_CONFIG_SETINTPUBLIC = 130,
  52. API_CONFIG_GETINTPUBLIC = 140,
  53. API_CONFIG_SETSTRINGPUBLIC = 150,
  54. API_CONFIG_GETSTRINGPUBLIC = 160,
  55. };
  56. };
  57. // ----------------------------------------------------------------------------
  58. inline void api_config::config_registerCfgItem(CfgItem *cfgitem) {
  59. _voidcall(API_CONFIG_CONFIG_REGISTERCFGITEM, cfgitem);
  60. }
  61. inline void api_config::config_deregisterCfgItem(CfgItem *cfgitem) {
  62. _voidcall(API_CONFIG_CONFIG_DEREGISTERCFGITEM, cfgitem);
  63. }
  64. inline int api_config::config_getNumCfgItems() {
  65. int __retval = _call(API_CONFIG_CONFIG_GETNUMCFGITEMS, (int)0);
  66. return __retval;
  67. }
  68. inline CfgItem *api_config::config_enumCfgItem(int n) {
  69. CfgItem *__retval = _call(API_CONFIG_CONFIG_ENUMCFGITEM, (CfgItem *)NULL, n);
  70. return __retval;
  71. }
  72. inline CfgItem *api_config::config_getCfgItemByGuid(GUID g) {
  73. CfgItem *__retval = _call(API_CONFIG_CONFIG_GETCFGITEMBYGUID, (CfgItem *)NULL, g);
  74. return __retval;
  75. }
  76. inline void api_config::setIntPrivate(const wchar_t *name, int val) {
  77. _voidcall(API_CONFIG_SETINTPRIVATE, name, val);
  78. }
  79. inline int api_config::getIntPrivate(const wchar_t *name, int def_val) {
  80. int __retval = _call(API_CONFIG_GETINTPRIVATE, (int)0, name, def_val);
  81. return __retval;
  82. }
  83. inline void api_config::setIntArrayPrivate(const wchar_t *name, const int *val, int nval) {
  84. _voidcall(API_CONFIG_SETINTARRAYPRIVATE, name, val, nval);
  85. }
  86. inline int api_config::getIntArrayPrivate(const wchar_t *name, int *val, int nval) {
  87. int __retval = _call(API_CONFIG_GETINTARRAYPRIVATE, (int)0, name, val, nval);
  88. return __retval;
  89. }
  90. inline void api_config::setStringPrivate(const wchar_t *name, const wchar_t *str) {
  91. _voidcall(API_CONFIG_SETSTRINGPRIVATE, name, str);
  92. }
  93. inline int api_config::getStringPrivate(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str) {
  94. int __retval = _call(API_CONFIG_GETSTRINGPRIVATE, (int)0, name, buf, buf_len, default_str);
  95. return __retval;
  96. }
  97. inline int api_config::getStringPrivateLen(const wchar_t *name) {
  98. int __retval = _call(API_CONFIG_GETSTRINGPRIVATELEN, (int)0, name);
  99. return __retval;
  100. }
  101. inline void api_config::setIntPublic(const wchar_t *name, int val) {
  102. _voidcall(API_CONFIG_SETINTPUBLIC, name, val);
  103. }
  104. inline int api_config::getIntPublic(const wchar_t *name, int def_val) {
  105. int __retval = _call(API_CONFIG_GETINTPUBLIC, (int)0, name, def_val);
  106. return __retval;
  107. }
  108. inline void api_config::setStringPublic(const wchar_t *name, const wchar_t *str) {
  109. _voidcall(API_CONFIG_SETSTRINGPUBLIC, name, str);
  110. }
  111. inline int api_config::getStringPublic(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str) {
  112. int __retval = _call(API_CONFIG_GETSTRINGPUBLIC, (int)0, name, buf, buf_len, default_str);
  113. return __retval;
  114. }
  115. // ----------------------------------------------------------------------------
  116. // {470B890C-4747-4113-ABA5-A8F8F4F8AB7E}
  117. static const GUID configApiServiceGuid =
  118. { 0x470b890c, 0x4747, 0x4113, { 0xab, 0xa5, 0xa8, 0xf8, 0xf4, 0xf8, 0xab, 0x7e } };
  119. extern api_config *configApi;
  120. #endif // __API_CONFIG_H