aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/config/api_config.h
blob: ece231b5d7a145fc791c215eeb37f8f930c8a4c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
// ----------------------------------------------------------------------------
// Generated by InterfaceFactory [Thu May 15 21:06:24 2003]
// 
// File        : api_config.h
// Class       : api_config
// class layer : Dispatchable Interface
// ----------------------------------------------------------------------------

#ifndef __API_CONFIG_H
#define __API_CONFIG_H

#include <bfc/dispatch.h>
#include <bfc/platform/types.h>

class CfgItem;
class ConfigFile;


// ----------------------------------------------------------------------------

class NOVTABLE api_config: public Dispatchable 
{
  protected:
    api_config() {}
    ~api_config() {}
  public:
    void config_registerCfgItem(CfgItem *cfgitem);
    void config_deregisterCfgItem(CfgItem *cfgitem);
    int config_getNumCfgItems();
    CfgItem *config_enumCfgItem(int n);
    CfgItem *config_getCfgItemByGuid(GUID g);
    void setIntPrivate(const wchar_t *name, int val);
    int getIntPrivate(const wchar_t *name, int def_val);
    void setIntArrayPrivate(const wchar_t *name, const int *val, int nval);
    int getIntArrayPrivate(const wchar_t *name, int *val, int nval);
    void setStringPrivate(const wchar_t *name, const wchar_t *str);
    int getStringPrivate(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str);
    int getStringPrivateLen(const wchar_t *name);
    void setIntPublic(const wchar_t *name, int val);
    int getIntPublic(const wchar_t *name, int def_val);
    void setStringPublic(const wchar_t *name, const wchar_t *str);
    int getStringPublic(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str);
  
  protected:
    enum {
      API_CONFIG_CONFIG_REGISTERCFGITEM = 10,
      API_CONFIG_CONFIG_DEREGISTERCFGITEM = 20,
      API_CONFIG_CONFIG_GETNUMCFGITEMS = 30,
      API_CONFIG_CONFIG_ENUMCFGITEM = 40,
      API_CONFIG_CONFIG_GETCFGITEMBYGUID = 50,
      API_CONFIG_SETINTPRIVATE = 60,
      API_CONFIG_GETINTPRIVATE = 70,
      API_CONFIG_SETINTARRAYPRIVATE = 80,
      API_CONFIG_GETINTARRAYPRIVATE = 90,
      API_CONFIG_SETSTRINGPRIVATE = 100,
      API_CONFIG_GETSTRINGPRIVATE = 110,
      API_CONFIG_GETSTRINGPRIVATELEN = 120,
      API_CONFIG_SETINTPUBLIC = 130,
      API_CONFIG_GETINTPUBLIC = 140,
      API_CONFIG_SETSTRINGPUBLIC = 150,
      API_CONFIG_GETSTRINGPUBLIC = 160,
    };
};

// ----------------------------------------------------------------------------

inline void api_config::config_registerCfgItem(CfgItem *cfgitem) {
  _voidcall(API_CONFIG_CONFIG_REGISTERCFGITEM, cfgitem);
}

inline void api_config::config_deregisterCfgItem(CfgItem *cfgitem) {
  _voidcall(API_CONFIG_CONFIG_DEREGISTERCFGITEM, cfgitem);
}

inline int api_config::config_getNumCfgItems() {
  int __retval = _call(API_CONFIG_CONFIG_GETNUMCFGITEMS, (int)0);
  return __retval;
}

inline CfgItem *api_config::config_enumCfgItem(int n) {
  CfgItem *__retval = _call(API_CONFIG_CONFIG_ENUMCFGITEM, (CfgItem *)NULL, n);
  return __retval;
}

inline CfgItem *api_config::config_getCfgItemByGuid(GUID g) {
  CfgItem *__retval = _call(API_CONFIG_CONFIG_GETCFGITEMBYGUID, (CfgItem *)NULL, g);
  return __retval;
}

inline void api_config::setIntPrivate(const wchar_t *name, int val) {
  _voidcall(API_CONFIG_SETINTPRIVATE, name, val);
}

inline int api_config::getIntPrivate(const wchar_t *name, int def_val) {
  int __retval = _call(API_CONFIG_GETINTPRIVATE, (int)0, name, def_val);
  return __retval;
}

inline void api_config::setIntArrayPrivate(const wchar_t *name, const int *val, int nval) {
  _voidcall(API_CONFIG_SETINTARRAYPRIVATE, name, val, nval);
}

inline int api_config::getIntArrayPrivate(const wchar_t *name, int *val, int nval) {
  int __retval = _call(API_CONFIG_GETINTARRAYPRIVATE, (int)0, name, val, nval);
  return __retval;
}

inline void api_config::setStringPrivate(const wchar_t *name, const wchar_t *str) {
  _voidcall(API_CONFIG_SETSTRINGPRIVATE, name, str);
}

inline int api_config::getStringPrivate(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str) {
  int __retval = _call(API_CONFIG_GETSTRINGPRIVATE, (int)0, name, buf, buf_len, default_str);
  return __retval;
}

inline int api_config::getStringPrivateLen(const wchar_t *name) {
  int __retval = _call(API_CONFIG_GETSTRINGPRIVATELEN, (int)0, name);
  return __retval;
}

inline void api_config::setIntPublic(const wchar_t *name, int val) {
  _voidcall(API_CONFIG_SETINTPUBLIC, name, val);
}

inline int api_config::getIntPublic(const wchar_t *name, int def_val) {
  int __retval = _call(API_CONFIG_GETINTPUBLIC, (int)0, name, def_val);
  return __retval;
}

inline void api_config::setStringPublic(const wchar_t *name, const wchar_t *str) {
  _voidcall(API_CONFIG_SETSTRINGPUBLIC, name, str);
}

inline int api_config::getStringPublic(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str) {
  int __retval = _call(API_CONFIG_GETSTRINGPUBLIC, (int)0, name, buf, buf_len, default_str);
  return __retval;
}

// ----------------------------------------------------------------------------


// {470B890C-4747-4113-ABA5-A8F8F4F8AB7E}
static const GUID configApiServiceGuid = 
{ 0x470b890c, 0x4747, 0x4113, { 0xab, 0xa5, 0xa8, 0xf8, 0xf4, 0xf8, 0xab, 0x7e } };

extern api_config *configApi;

#endif // __API_CONFIG_H