p6wsplit.h

Go to the documentation of this file.
00001 
00012 #ifndef P6WSPLIT_H__
00013 #define P6WSPLIT_H__ 1
00014 
00015 #include "p6err.h"
00016 #include "p6comdef.h"
00017 #include "p6wregex.h"
00018 
00019 
00020 namespace P6R {
00021 
00022 #ifdef  __cplusplus
00023 extern "C" {
00024 #endif
00025 
00032 typedef P6UINT32 P6WSPLITFLAGS;
00033 const P6WSPLITFLAGS P6WSPLIT_NOFLAGS = 0x00000000;     
00034 
00042 typedef struct
00043 {
00044    P6UINT32 offset;    // -> start of chunk
00045    P6UINT32 length;    // -> length of chunk in characters
00046 } P6WSPLITCHUNK;
00047 
00048 
00057 interface p6IEnumWSplitChunks : p6ICom
00058 {
00073    P6COMMETHOD  next( P6UINT32 cElements, P6WSPLITCHUNK* parElements, P6UINT32* pcReturned ) = 0;
00074 
00083    P6COMMETHOD  reset() = 0;
00084 };
00085 #define IF_p6IEnumWSplitChunks {0xd789c4b9,0x4818,0x4e94,{0xad,0x5a,0x9b,0x47,0x60,0x8b,0xe4,0x70}}
00086 
00087 
00097 interface p6IWSplit : p6ICom
00098 {
00109    P6COMMETHOD  initialize( P6WSPLITFLAGS flags ) = 0;
00110 
00125    P6COMMETHOD setLocale( const P6CHAR* pLocale ) = 0;
00126 
00155    P6COMMETHOD  split( const P6WCHAR*        pRegex, 
00156                    P6WREGEXMODIFIER      modifiers, 
00157                   const P6WCHAR*        pTargetStr, 
00158                   P6UINT32              chunkLimit,
00159                   p6IEnumWSplitChunks** ppEnum ) = 0;
00160 
00179    P6COMMETHOD explode( const P6WCHAR*        pDelimiter, 
00180                     const P6WCHAR*        pString, 
00181                     P6UINT32              limit,
00182                     p6IEnumWSplitChunks** ppEnum ) = 0;
00183 };
00184 
00185 
00186 // {0148CDF2-E5F4-4067-97D0-F4CD437FB108}
00187 #define IF_p6IWSplit    {0x148cdf2,0xe5f4,0x4067,{0x97,0xd0,0xf4,0xcd,0x43,0x7f,0xb1,0x8}}
00188 
00189 // {9B16B3AD-3FE5-4c74-96A9-5067444B8EBD}
00190 #define COMP_p6WSplit   {0x9b16b3ad,0x3fe5,0x4c74,{0x96,0xa9,0x50,0x67,0x44,0x4b,0x8e,0xbd}}
00191 
00192 #ifdef  __cplusplus
00193 }
00194 #endif
00195 
00196 } // namespace
00197 
00198 #endif
00199 
00200 
00201 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.