Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6stringbuf.h
Go to the documentation of this file.
1 
5 #ifndef P6STRINGBUF_H__
6 #define P6STRINGBUF_H__ 1
7 
8 #include "p6err.h"
9 #include "p6runtimeif.h"
10 
11 #ifdef __cplusplus
12 namespace P6R {
13 extern "C" {
14 #endif
15 
17  const P6STRBUFFLAGS P6SBF_NOFLAGS = 0x00000000;
18 
24  #undef INTERFACE
25  #define INTERFACE p6IStringBuf
27  {
40  P6DECLCOMMETHOD(initialize)(P6THIS_ P6SIZE cInitialSize,const P6CHAR *pInitialData,P6STRBUFFLAGS fFlags) P6PURE;
41 
49  P6DECLCOMMETHOD(append)(P6THIS_ const P6CHAR *pData) P6PURE;
50 
58  P6DECLCOMMETHOD(appendBCSTR)(P6THIS_ const P6BCSTR *pData) P6PURE;
59 
72  P6DECLCOMMETHOD(appendSubStr)(P6THIS_ const P6CHAR *pData,P6SIZE nOffset,P6SIZE nChars) P6PURE;
73 
81  P6DECLCOMMETHOD(prepend)(P6THIS_ const P6CHAR *pData) P6PURE;
82 
90  P6DECLCOMMETHOD(prependBCSTR)(P6THIS_ const P6BCSTR *pData) P6PURE;
91 
104  P6DECLCOMMETHOD(prependSubStr)(P6THIS_ const P6CHAR *pData,P6SIZE nOffset,P6SIZE nChars) P6PURE;
105 
119  P6DECLCOMMETHOD(getBufPtr)(P6THIS_ const P6CHAR **ppData,P6SIZE *pcData) P6PURE;
120 
133  P6DECLCOMMETHOD(getBufPtrbstr)(P6THIS_ P6BCSTR *pbsBuffer) P6PURE;
134 
141  P6DECLCOMMETHOD(size)(P6THIS_ P6SIZE *pcData) P6PURE;
142 
148  P6DECLCOMMETHOD(clear)(P6THIS) P6PURE;
149  };
150 
151  // {8BCF8C01-C750-4E0C-8C86-638F7127A02D}
152  #define IF_p6IStringBuf {0x8BCF8C01,0xC750,0x4E0C,{0x8C,0x86,0x63,0x8F,0x71,0x27,0xA0,0x2D}}
153 
154  // {23E0E1E7-FCD5-41B2-A2A9-12C08D053613}
155  #define COMP_p6StringBuf {0x23E0E1E7,0xFCD5,0x41B2,{0xA2,0xA9,0x12,0xC0,0x8D,0x05,0x36,0x13}}
156 
157 
158  #undef INTERFACE
159  #define INTERFACE p6IWStringBuf
161  {
174  P6DECLCOMMETHOD(initialize)(P6THIS_ P6SIZE cInitialSize,const P6WCHAR *pInitialData,P6STRBUFFLAGS fFlags) P6PURE;
175 
184  P6DECLCOMMETHOD(append)(P6THIS_ const P6WCHAR *pData) P6PURE;
185 
193  P6DECLCOMMETHOD(appendBWCSTR)(P6THIS_ const P6BWCSTR *pData) P6PURE;
194 
195 
208  P6DECLCOMMETHOD(appendSubStr)(P6THIS_ const P6WCHAR *pData,P6SIZE nOffset,P6SIZE nChars) P6PURE;
209 
217  P6DECLCOMMETHOD(prepend)(P6THIS_ const P6WCHAR *pData) P6PURE;
218 
226  P6DECLCOMMETHOD(prependBWCSTR)(P6THIS_ const P6BWCSTR *pData) P6PURE;
227 
240  P6DECLCOMMETHOD(prependSubStr)(P6THIS_ const P6WCHAR *pData,P6SIZE nOffset,P6SIZE nChars) P6PURE;
241 
254  P6DECLCOMMETHOD(getBufPtr)(P6THIS_ const P6WCHAR **ppData,P6SIZE *pcData) P6PURE;
255 
268  P6DECLCOMMETHOD(getBufPtrbstr)(P6THIS_ P6BWCSTR *pbsBuffer) P6PURE;
269 
276  P6DECLCOMMETHOD(size)(P6THIS_ P6SIZE *pcData) P6PURE;
277 
283  P6DECLCOMMETHOD(clear)(P6THIS) P6PURE;
284 
294  P6DECLCOMMETHOD(trim)(P6THIS_ P6SIZE cChars) P6PURE;
295  };
296 
297  // {6E3FB49E-FB69-4930-B9B7-134777837B1F}
298  #define IF_p6IWStringBuf {0x6E3FB49E,0xFB69,0x4930,{0xB9,0xB7,0x13,0x47,0x77,0x83,0x7B,0x1F}}
299 
300  // {0EC58863-B4F6-49EF-98B3-3FBE27A30C3F}
301  #define COMP_p6WStringBuf {0x0EC58863,0xB4F6,0x49EF,{0x98,0xB3,0x3F,0xBE,0x27,0xA3,0x0C,0x3F}}
302 
303 #ifdef __cplusplus
304 } /* extern "C" */
305 } // namespace
306 #endif
307 
308 #endif
size_t P6SIZE
Definition: p6types.h:90
Const Binary string.
Definition: p6types.h:199
const P6STRBUFFLAGS P6SBF_NOFLAGS
Definition: p6stringbuf.h:17
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
Standard error codes.
Wide Const binary string.
Definition: p6types.h:231
P6UINT32 P6STRBUFFLAGS
Definition: p6stringbuf.h:16
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
P6COM runtime interfaces definitions.
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
This interface is not threadsafe.
Definition: p6stringbuf.h:26
#define P6THIS
Definition: p6defs.h:194
char P6CHAR
Narrow character type.
Definition: p6types.h:105
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188