p6runtimeif.h

Go to the documentation of this file.
00001 
00013 #ifndef P6RUNTIMEIF_H__
00014 #define P6RUNTIMEIF_H__ 1
00015 
00016 #include "p6err.h"
00017 #include "p6comdef.h"
00018 
00019 namespace P6R {
00020 
00021 #ifdef  __cplusplus
00022 extern "C" {
00023 #endif
00024 
00029   
00031    #define P6INVALIDATOM   (P6ATOM)0
00032 
00040    interface p6IAtom : p6ICom
00041    {
00053       P6COMMETHOD                addAtom(const P6R::P6CHAR *pszString,P6ATOM *pAtom) = 0;
00054    
00068       P6COMMETHOD                getAtomString(P6ATOM atom,P6R::P6CHAR *pBuffer,P6R::P6SIZE *pcBuffer) = 0;
00069    
00079       P6COMMETHOD                removeAtom(P6ATOM atom) = 0;
00080    };
00081    
00083    #define IF_p6IAtom {0x32804623,0x1DCD,0x4103,{0xB2,0x30,0x4A,0xCE,0x1F,0x2B,0xC6,0x5F}}
00084    
00085    
00086    
00087    
00093    interface p6IEnumCategories : p6ICom
00094    {
00112       P6COMMETHOD               next(P6R::P6UINT32 cElements,P6R::CATID *parElements,P6R::P6UINT32 *pcReturned) = 0;
00113    
00122       P6COMMETHOD             reset() = 0;
00123    };
00124    #define IF_p6IEnumCategories {0x0BE1E15B,0xF964,0x4be4,{0x8E,0x71,0xA3,0xE2,0x98,0xA2,0xD5,0x35}}
00125    
00131    interface p6IEnumCategoryComponents : p6ICom
00132    {
00150       P6COMMETHOD               next(P6R::P6UINT32 cElements,P6R::CID *parElements,P6R::P6UINT32 *pcReturned) = 0;
00151    
00160       P6COMMETHOD             reset() = 0;
00161    };
00162    #define IF_p6IEnumCategoryComponents {0xACD65F14,0xD83E,0x4cb2,{0x8C,0x8A,0x38,0x47,0x11,0x84,0x8F,0x7A}}
00163    
00191    interface p6ICategoryMgr : p6ICom
00192    {
00206       P6COMMETHOD               addCategory(const P6R::CATID& catid,const P6R::P6WCHAR *pszName) = 0;
00207 
00211       P6COMMETHOD               removeCategory(const P6R::CATID& catid) = 0;
00212    
00216       P6COMMETHOD               enumCategories(p6IEnumCategories **ppEnum) = 0;
00217       
00222       P6COMMETHOD               addCategoryComponent(const P6R::CATID& catid,const P6R::P6WCHAR *pszName,const P6R::CID &cid) = 0;
00223    
00227       P6COMMETHOD               removeCategoryComponent(const P6R::CATID& catid,const P6R::CID &cid) = 0;
00228    
00232       P6COMMETHOD               enumCategoryComponents(const P6R::CATID& catid,P6R::p6IEnumCategoryComponents **ppEnum) = 0;
00233    };
00234    #define IF_p6ICategoryMgr {0x40768F08,0x4107,0x42ca,{0x9D,0x73,0x8B,0x1E,0xCD,0x03,0xCD,0x62}}
00235    
00249    interface p6IComponentMgr : p6ICom
00250    {
00265       P6COMMETHOD              getComponentFactory(const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface) = 0;
00266    
00287       P6COMMETHOD               createInstance(P6R::p6ICom *pOuter,const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface) = 0;
00288    };
00289    #define IF_p6IComponentMgr {0x17e66188, 0xf9ae, 0x437e, {0xac, 0x8b, 0xbf, 0x73, 0xa8, 0xa7, 0x28, 0x96}}
00290    
00291    
00292    
00293    
00294    
00301    typedef enum {
00302       ICSS_STARTING,                      
00303       ICSS_RUNNING,                       
00304       ICSS_STOPPING,                      
00305       ICSS_STOPPED,                       
00306       ICSS_MAX
00307    } ICSS;
00308    
00309    #define MAX_SERVICE_NAME   32
00310    
00311    
00312    typedef struct {
00313       P6R::ICSS                  m_nState;                     
00314       P6R::CID                   m_componentID;                
00315       P6R::P6UINT16              m_loadOrder;                  
00316       P6R::P6WCHAR               m_szName[MAX_SERVICE_NAME];   
00317    } P6SERVICEINFO;
00318    
00325    interface p6IEnumServices : p6ICom
00326    {
00346       P6COMMETHOD               next(P6R::P6UINT32 cElements,P6R::P6SERVICEINFO *parElements,P6R::P6UINT32 *pcReturned) = 0;
00347       
00356       P6COMMETHOD             reset() = 0;
00357    };
00358    
00359    
00365    interface p6IEnvironment : p6ICom
00366    {
00383       P6COMMETHOD                getEnv(const P6R::P6CHAR *pszName,P6R::P6CHAR *pBuffer,P6R::P6UINT32 *pcBuffer) = 0;
00384    
00401       P6COMMETHOD                getEnvW(const P6R::P6WCHAR *pwszName,P6R::P6WCHAR *pBuffer,P6R::P6UINT32 *pcBuffer) = 0;
00402    
00403    };
00404    
00405    // {485D6B1E-A081-45b7-AF2A-520F528128C4}
00406    #define IF_p6IEnvironment  {0x485d6b1e,0xa081,0x45b7,{0xaf,0x2a,0x52,0xf,0x52,0x81,0x28,0xc4}}
00407    
00408    
00409    
00410    
00411    
00415    #define P6MAX_EVENTID_LEN     128
00416    
00417    
00421    typedef P6R::P6VOID (*P6HANDLEEVENT)(const P6R::P6CHAR *pszEventId,P6R::P6VOID *pCtx,P6R::P6VOID *pData);
00422    
00429    interface p6IEventMgr : p6ICom
00430    {
00442       P6COMMETHOD                registerForEvent(const P6R::P6CHAR *pszEventID,P6HANDLEEVENT pfnHandler,P6R::P6VOID *pCtx) = 0;
00443    
00456       P6COMMETHOD                unregisterForEvent(const P6R::P6CHAR *pszEventID,P6HANDLEEVENT pfnHandler,P6R::P6VOID **ppCtx) = 0;
00457    
00469       P6COMMETHOD                generateEvent(const P6R::P6CHAR *pszEventID,P6R::P6VOID *pData) = 0;
00470    };
00471    #define IF_p6IEventMgr {0xF2F9C170,0xA926,0x4864,{0x83,0x32,0xFE,0xA7,0xE4,0xBE,0xEB,0x0A}}
00472    
00473    
00478    interface p6IServer : p6ICom
00479    {
00488       P6COMMETHOD                wait() = 0;
00489 
00497       P6COMMETHOD                shutdown() = 0;
00498    };
00499    // {0E94A85F-1C97-4036-B4F7-963B33509B09}
00500    #define IF_p6IServer {0x0E94A85F,0x1C97,0x4036,{0xB4,0xF7,0x96,0x3B,0x33,0x50,0x9B,0x09}}
00501    
00502   
00503    
00511    interface p6IRunningIface : p6ICom
00512    {
00523       P6COMMETHOD                registerInterface(P6R::P6ATOM atom,P6R::p6ICom *pIface) = 0;
00524    
00540       P6COMMETHOD                findInterface(P6R::P6ATOM atom,const P6R::IID &iid,P6R::P6VOID **ppIface) = 0;
00541    
00561       P6COMMETHOD                findInterfaceByString(const P6R::P6CHAR *pszIndentifier,const P6R::IID &iid,P6R::P6VOID **ppIface) = 0;
00571       P6COMMETHOD                unregisterInterface(P6R::P6ATOM atom) = 0;
00572    };
00574    #define IF_p6IRunningIface {0x393A85DF,0x7442,0x43ab,{0xA7,0xC7,0x52,0xD9,0x6C,0x53,0x47,0x12}}
00575 
00576   
00594    interface p6ISafeString : p6ICom
00595    {  
00596 
00617       P6COMMETHOD atol(const P6R::P6CHAR *pString,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetLong) = 0;
00618       
00645       P6COMMETHOD atolEx(const P6R::P6CHAR *pString,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetLong,P6R::P6CHAR **ppEndPtr) = 0;
00646       
00666       P6COMMETHOD atoll(const P6R::P6CHAR *pString,P6R::P6SIZE cchMax,P6R::P6INT64 *pRetLongLong) = 0;
00667 
00694       P6COMMETHOD atollEx(const P6R::P6CHAR *pString,P6R::P6SIZE cchMax,P6R::P6INT64 *pRetLongLong,P6R::P6CHAR **ppEndPtr) = 0;
00695 
00716       P6COMMETHOD atolW(const P6R::P6WCHAR *pString,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetLong) = 0;
00717 
00718 
00734       P6COMMETHOD bstrcmp(const P6R::P6BCSTR *s1,const P6R::P6BCSTR *s2,P6R::P6INT32 *pRetval) = 0;
00735 
00751       P6COMMETHOD bstricmp(const P6R::P6BCSTR *s1,const P6R::P6BCSTR *s2,P6R::P6INT32 *pRetval) = 0;
00752 
00772       P6COMMETHOD bstrchr(const P6R::P6BCSTR *pbcsStr,P6R::P6INT16 c,P6R::P6BCSTR *pRetPtr) = 0;
00773 
00787       P6COMMETHOD bstrlcat(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6BCSTR *pbsSource,P6R::P6SIZE *pcCopied) = 0;
00788 
00799       P6COMMETHOD bstrlcpy(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6BCSTR *pbsSource,P6R::P6SIZE *pcCopied) = 0;
00800 
00810       P6COMMETHOD bstrlwr(P6R::P6BSTR *pbsStr) = 0;
00811 
00831       P6COMMETHOD bstrrchr(const P6R::P6BCSTR *pbcsStr,P6R::P6INT16 c,P6R::P6BCSTR *pRetPtr) = 0;
00832 
00858       P6COMMETHOD bstrsep(P6R::P6BCSTR *pbcsSearchIn,const P6R::P6CHAR *pszDelimiters,P6R::P6BCSTR *pbcsToken) = 0;
00859 
00869       P6COMMETHOD bstrupr(P6R::P6BSTR *pbsStr) = 0;
00870 
00884       P6COMMETHOD bwstrlcpy(P6R::P6WCHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6BWCSTR *pSource) = 0;
00885 
00903       P6COMMETHOD compareMem(const P6R::P6VOID *pMem1,const P6R::P6VOID *pMem2,P6R::P6SIZE nBytes,P6R::P6INT32 *pResult) = 0;
00904       
00919       P6COMMETHOD copyMem(P6R::P6VOID *pDest,P6R::P6SIZE cDest,const P6R::P6VOID *pSource,P6R::P6SIZE nBytes) = 0;
00920 
00934       P6COMMETHOD floatToString(P6R::P6FLOAT value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten) = 0;
00935 
00949       P6COMMETHOD floatToStringW(P6R::P6FLOAT value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten) = 0;
00950       
00977       P6COMMETHOD formatString(P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten,const P6R::P6CHAR *pszFormat,const P6R::P6ARG *pArgs,P6R::P6SIZE cArgs) = 0;
00978 
01009       P6COMMETHOD formatStringW(P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6SIZE *pcWritten,const P6R::P6WCHAR *pszFormat,const P6R::P6ARG *pArgs,P6R::P6SIZE cArgs) = 0;
01010       
01026       P6COMMETHOD int16ToString(P6R::P6INT16 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01027 
01043       P6COMMETHOD int16ToStringW(P6R::P6INT16 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01044       
01060       P6COMMETHOD int32ToString(P6R::P6INT32 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01061       
01077       P6COMMETHOD int32ToStringW(P6R::P6INT32 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01078       
01094       P6COMMETHOD int64ToString(P6R::P6INT64 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01095       
01111       P6COMMETHOD int64ToStringW(P6R::P6INT64 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01112       
01129       P6COMMETHOD moveMem(P6R::P6VOID *pDest,P6R::P6SIZE cDest,const P6R::P6VOID *pSource,P6R::P6SIZE nBytes) = 0;
01130       
01147       P6COMMETHOD reverseString(P6R::P6CHAR *pBuffer,P6R::P6SIZE cStart,P6R::P6SIZE cEnd) = 0;
01148 
01165       P6COMMETHOD reverseStringW(P6R::P6WCHAR *pBuffer,P6R::P6SIZE cStart,P6R::P6SIZE cEnd) = 0;
01166 
01167       
01180       P6COMMETHOD setMem(P6R::P6VOID *pMemory,P6R::P6INT nValue,P6R::P6SIZE nBytes) = 0;
01181 
01200       P6COMMETHOD sizetToString(P6R::P6SIZE value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01201 
01220       P6COMMETHOD sizetToStringW(P6R::P6SIZE value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01221       
01243       P6COMMETHOD strchr(const P6R::P6CHAR *pStr,P6R::P6INT16 c,P6R::P6SIZE cchMax,P6R::P6CHAR **ppRetPtr) = 0;
01244       
01259       P6COMMETHOD strcmp(const P6R::P6CHAR *pStr1,const P6R::P6CHAR *pStr2,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetval) = 0;
01260       
01277       P6COMMETHOD strdup(const P6R::P6CHAR* pString,P6R::P6CHAR **ppCopy) = 0;
01278       
01292       P6COMMETHOD strfree(const P6R::P6CHAR *pString) = 0;
01293       
01310       P6COMMETHOD stricmp(const P6R::P6CHAR *pStr1,const P6R::P6CHAR *pStr2,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetval) = 0;
01311       
01334       P6COMMETHOD stristr(const P6R::P6CHAR *searchIn,const P6R::P6CHAR *searchFor,P6R::P6SIZE cchMax,P6R::P6CHAR **ppRetptr) = 0;
01335       
01355       P6COMMETHOD strlcat(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6CHAR *pszSource,P6R::P6SIZE *pcCopied) = 0;
01356       
01381       P6COMMETHOD strlcpy(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6CHAR *pszSource,P6R::P6SIZE *pcCopied) = 0;
01382       
01403       P6COMMETHOD strlen(const P6R::P6CHAR *pStr,P6R::P6SIZE cchMax,P6R::P6SIZE *pcSize) = 0;
01404 
01431       P6COMMETHOD strlncpy(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6CHAR *pszSource,P6R::P6SIZE cSourceLen,P6R::P6SIZE *pcCopied) = 0;
01432 
01446       P6COMMETHOD strlwr(P6R::P6CHAR *pszStr,P6R::P6SIZE cchMax) = 0;
01447       
01463       P6COMMETHOD strncat(P6R::P6CHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6CHAR *pszSource,P6R::P6SIZE cCount) = 0;
01464       
01482       P6COMMETHOD strncmp(const P6R::P6CHAR *pStr1,const P6R::P6CHAR *pStr2,P6R::P6SIZE length,P6R::P6INT32 *pRetval) = 0;
01483       
01501       P6COMMETHOD strnicmp(const P6R::P6CHAR *pStr1,const P6R::P6CHAR *pStr2,P6R::P6SIZE length,P6R::P6INT32 *pRetval) = 0;
01502       
01519       P6COMMETHOD strrchr(const P6R::P6CHAR *pStr,P6R::P6INT16 c,P6R::P6SIZE cchMax,P6R::P6CHAR **ppRetPtr) = 0;
01520 
01549       P6COMMETHOD strsep(const P6R::P6CHAR **ppszSearchIn,const P6R::P6CHAR *pszDelimiters,P6R::P6BCSTR *pbcsToken) = 0;
01550       
01573       P6COMMETHOD strstr(const P6R::P6CHAR *searchIn,const P6R::P6CHAR *searchFor,P6R::P6SIZE cchMax,P6R::P6CHAR **ppRetptr) = 0;
01574       
01594       P6COMMETHOD strToBool(const P6R::P6CHAR *pBoolStr,P6R::P6BOOL *pBool) = 0;
01595       
01609       P6COMMETHOD strupr(P6R::P6CHAR *pszStr,P6R::P6SIZE cchMax) = 0;
01610    
01624       P6COMMETHOD trimEnd(P6R::P6CHAR *pszStr,P6R::P6SIZE cchMax) = 0;
01625 
01639       P6COMMETHOD trimEndW(P6R::P6WCHAR *pszStr,P6R::P6SIZE cchMax) = 0;
01640 
01655       P6COMMETHOD uint16ToString(P6R::P6UINT16 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01656 
01671       P6COMMETHOD uint16ToStringW(P6R::P6UINT16 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01672       
01687       P6COMMETHOD uint32ToString(P6R::P6UINT32 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01688       
01703       P6COMMETHOD uint32ToStringW(P6R::P6UINT32 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01704       
01719       P6COMMETHOD uint64ToString(P6R::P6UINT64 value,P6R::P6CHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01720       
01735       P6COMMETHOD uint64ToStringW(P6R::P6UINT64 value,P6R::P6WCHAR *pBuffer,P6R::P6SIZE cBuffer,P6R::P6UINT32 radix,P6R::P6SIZE *pcWritten) = 0;
01736 
01760       P6COMMETHOD utf8ToWcs(P6R::P6WCHAR* pDest,P6R::P6SIZE* dstSize,const P6R::P6CHAR* pSource) = 0;
01761       
01786       P6COMMETHOD utf8nToWcs(P6R::P6WCHAR* pDest,P6R::P6SIZE* dstSize,const P6R::P6CHAR* pSource,P6R::P6SIZE cCount) = 0;
01787 
01788 
01812       P6COMMETHOD wcsToUtf8(P6R::P6CHAR* pDest,P6R::P6SIZE* dstSize,const P6R::P6WCHAR* pSource) = 0;
01813 
01838       P6COMMETHOD wcsnToUtf8(P6R::P6CHAR* pDest,P6R::P6SIZE* dstSize,const P6R::P6WCHAR* pSource,P6R::P6SIZE cCount) = 0;
01839 
01840       
01855       P6COMMETHOD wsetMem(P6R::P6WCHAR *pMemory,P6R::P6WCHAR nValue,P6R::P6SIZE nChars) = 0;
01856 
01857 
01876       P6COMMETHOD wstrchr(const P6R::P6WCHAR *pStr,P6R::P6WCHAR c,P6R::P6SIZE cchMax,P6R::P6WCHAR **ppRetPtr) = 0;
01877 
01897       P6COMMETHOD wstrcmp(const P6R::P6WCHAR *s1,const P6R::P6WCHAR *s2,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetval) = 0;
01898       
01918       P6COMMETHOD wstricmp(const P6R::P6WCHAR *s1,const P6R::P6WCHAR *s2,P6R::P6SIZE cchMax,P6R::P6INT32 *pRetval) = 0;
01919       
01935       P6COMMETHOD wstrdup(const P6R::P6WCHAR* pString,P6R::P6WCHAR **ppCopy) = 0;
01936 
01947       P6COMMETHOD wstrfree(const P6R::P6WCHAR *pString) = 0;
01948       
01965       P6COMMETHOD wstrlcat(P6R::P6WCHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6WCHAR *pszSource,P6R::P6SIZE *pcCopied) = 0;
01966       
01983       P6COMMETHOD wstrlcpy(P6R::P6WCHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6WCHAR *pszSource,P6R::P6SIZE *pcCopied) = 0;
01984       
02001       P6COMMETHOD wstrlen(const P6R::P6WCHAR *pwszString,P6R::P6SIZE cchMax,P6R::P6SIZE *pcLen) = 0;
02002 
02022       P6COMMETHOD wstrlncpy(P6R::P6WCHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6WCHAR *pszSource,P6R::P6SIZE cSourceLen,P6R::P6SIZE *pcCopied) = 0;
02023 
02035       P6COMMETHOD wstrncat(P6R::P6WCHAR *pszDest,P6R::P6SIZE cDest,const P6R::P6WCHAR *pszSource,P6R::P6SIZE cCount) = 0;
02036 
02049       P6COMMETHOD wstrncmp(const P6R::P6WCHAR *s1,const P6R::P6WCHAR *s2,P6R::P6SIZE length,P6R::P6INT32 *pRetval) = 0;
02050 
02063       P6COMMETHOD wstrnicmp(const P6R::P6WCHAR *s1,const P6R::P6WCHAR *s2,P6R::P6SIZE length,P6R::P6INT32 *pRetval) = 0;
02064 
02065 
02085       P6COMMETHOD wstrrchr(const P6R::P6WCHAR *pszSearchIn,P6R::P6INT16 c,P6R::P6SIZE cchMax,P6R::P6WCHAR **ppRetPtr) = 0;
02086 
02109       P6COMMETHOD wstrstr(const P6R::P6WCHAR *searchIn,const P6R::P6WCHAR *searchFor,P6R::P6SIZE cchMax,P6R::P6WCHAR **ppRetptr) = 0;
02110 
02130       P6COMMETHOD wstrToBool(const P6R::P6WCHAR *pBoolStr,P6R::P6BOOL *pBool) = 0;
02131 
02145       P6COMMETHOD wstrupr(P6R::P6WCHAR *pszStr,P6R::P6SIZE cchMax) = 0;
02146    };                            
02147    // {1B77B8F2-9FBC-4d90-9B1F-211DA24CD823}
02148    #define IF_p6ISafeString {0x1B77B8F2,0x9FBC,0x4d90,{0x9B,0x1F,0x21,0x1D,0xA2,0x4C,0xD8,0x23}}
02149    
02150    
02152 
02162    interface p6ISystemInfo : p6ICom
02163    {
02183       P6COMMETHOD                getSystemName(P6R::P6WCHAR *pwszBuffer,P6R::P6UINT32 cBuffer) = 0;
02184       
02197       P6COMMETHOD                getOSName(P6R::P6WCHAR *pwszName,P6R::P6UINT32 cName) = 0;
02198       
02227       P6COMMETHOD                getOSVersion(P6R::P6WCHAR *pwszBuffer,P6R::P6UINT32 cBuffer) = 0;
02228    
02242       P6COMMETHOD                getNumProcessors(P6R::P6UINT32 *pcProcessors) = 0;
02243    
02244    
02255       P6COMMETHOD                getArchitecture(P6R::P6WCHAR *pwszBuffer,P6R::P6UINT32 cBuffer) = 0;
02256 
02268       P6COMMETHOD                getPageSize(P6R::P6UINT32 *pcPage) = 0;
02269    };
02270    // {56084D40-9165-42DF-8425-0B33E91D9AEF}
02271    #define IF_p6ISystemInfo {0x56084D40,0x9165,0x42DF,{0x84,0x25,0x0B,0x33,0xE9,0x1D,0x9A,0xEF}}
02272 
02273    typedef enum {
02274       P6CH_STDIN,
02275       P6CH_STDOUT,
02276       P6CH_STDERR
02277    } P6CONHANDLE;
02278 
02285    interface p6IConsole : p6ICom
02286    {
02299       P6COMMETHOD          writeStdout(const P6R::P6CHAR *pFmt,P6R::P6ARG *pArgs,P6R::P6UINT32 cArgs,P6R::P6UINT32 *pcBytesWritten) = 0;
02300 
02313       P6COMMETHOD          writeStdoutW(const P6R::P6WCHAR *pFmt,P6R::P6ARG *pArgs,P6R::P6UINT32 cArgs,P6R::P6UINT32 *pcBytesWritten) = 0;
02314 
02327       P6COMMETHOD          writeStderr(const P6R::P6CHAR *pFmt,P6R::P6ARG *pArgs,P6R::P6UINT32 cArgs,P6R::P6UINT32 *pcBytesWritten) = 0;
02328 
02341       P6COMMETHOD          writeStderrW(const P6R::P6WCHAR *pFmt,P6R::P6ARG *pArgs,P6R::P6UINT32 cArgs,P6R::P6UINT32 *pcBytesWritten) = 0;
02342       P6COMMETHOD          readStdin(P6R::P6CHAR *pBuffer,P6R::P6UINT32 cBytesToread,P6R::P6UINT32 *pcBytesRead) = 0;
02343    };
02344 
02345    // {BA6864AD-935F-4C14-ABFC-3CA6C5CB2DE5}
02346    #define IF_p6IConsole {0xBA6864AD,0x935F,0x4C14,{0xAB,0xFC,0x3C,0xA6,0xC5,0xCB,0x2D,0xE5}}
02347 
02348 
02349    interface p6IMarshalData : p6ICom
02350    {
02351       P6COMMETHOD set8(const P6R::P6UINT8 val,P6R::P6P8BIT *pDest) = 0;
02352       P6COMMETHOD set16(const P6R::P6UINT16 val,P6R::P6P16BIT *pDest) = 0;
02353       P6COMMETHOD set32(const P6R::P6UINT32 val,P6R::P6P32BIT *pDest) = 0;
02354       P6COMMETHOD set64(const P6R::P6UINT64 val,P6R::P6P64BIT *pDest) = 0;
02355       P6COMMETHOD get8(const P6R::P6P8BIT *pVal,P6R::P6UINT8 *pDest) = 0;
02356       P6COMMETHOD get16(const P6R::P6P16BIT *pVal,P6R::P6UINT16 *pDest) = 0;
02357       P6COMMETHOD get32(const P6R::P6P32BIT *pVal,P6R::P6UINT32 *pDest) = 0;
02358       P6COMMETHOD get64(const P6R::P6P64BIT *pVal,P6R::P6UINT64 *pDest) = 0;
02359    };
02360    // {CD8CECEA-DDE2-4F44-8002-56B90664E079}
02361    #define IF_p6IMarshalData {0xCD8CECEA,0xDDE2,0x4F44,{0x80,0x02,0x56,0xB9,0x06,0x64,0xE0,0x79}}
02362 
02363 
02370    interface p6INetHelpers : p6ICom
02371    {
02385       P6COMMETHOD                   host2nll(P6R::P6UINT64 nHostLong,P6R::P6UINT64 *pNetLong) = 0;
02386       
02387    
02401       P6COMMETHOD                   host2nl(P6R::P6UINT32 nHostLong,P6R::P6UINT32 *pNetLong) = 0;
02402    
02416       P6COMMETHOD                   host2ns(P6R::P6UINT16 nHostShort,P6R::P6UINT16 *pNetShort) = 0;
02417    
02431       P6COMMETHOD                   net2hll(P6R::P6UINT64 nNetLong,P6R::P6UINT64 *pHostLong) = 0;
02432    
02446       P6COMMETHOD                   net2hl(P6R::P6UINT32 nNetLong,P6R::P6UINT32 *pHostLong) = 0;
02447    
02461       P6COMMETHOD                   net2hs(P6R::P6UINT16 nNetShort,P6R::P6UINT16 *pHostShort) = 0;
02462       
02489       P6COMMETHOD                   strToNetAddr(const P6R::P6CHAR *pszAddr,P6R::P6NETADDR *pAddr) = 0;
02490       
02510       P6COMMETHOD                   wStrToNetAddr(const P6R::P6WCHAR *pwszAddr,P6R::P6NETADDR *pAddr) = 0;
02511    
02538       P6COMMETHOD                   netAddrToStr(const P6R::P6NETADDR *pAddr,P6R::P6CHAR *pBuffer,P6R::P6UINT32 *pcBuffer,P6R::P6BOOL bAddPort) = 0;
02539       
02566       P6COMMETHOD                   netAddrToWStr(const P6R::P6NETADDR *pAddr,P6R::P6WCHAR *pBuffer,P6R::P6UINT32 *pcBuffer,P6R::P6BOOL bAddPort) = 0;
02567    };
02568    // {464F74EE-0D93-4ee9-9E5E-13EE0C94B53D}
02569    #define IF_p6INetHelpers {0x464F74EE,0x0D93,0x4ee9,{0x9E,0x5E,0x13,0xEE,0x0C,0x94,0xB5,0x3D}}
02570 
02571 #ifdef  __cplusplus
02572 }
02573 #endif
02574 
02576 } //namespace
02577 
02578 #endif
02579 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.