Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6loader.h
Go to the documentation of this file.
1 
9 #ifndef P6LOADER_H__
10 #define P6LOADER_H__ 1
11 
12 #include "p6err.h" // Error and type definitions
13 #include "p6comdef.h" // [p6]COM definitions
14 #include "p6errorinfo.h" // Definition only, not supported by p6Loader
15 #include "p6runtimeapi.h" // Platform runtime API definitions
16 #include "p6comhlpr.h" // [p6]COM helper macros
21 #undef P6ASSERT
22 #define P6ASSERT(x)
23 #include "p6comptr.h" // Smart COM pointer, ASSERTs disabled
24 #include "p6runtimeif.h" // P6Platform's runtime COM API interface definitions
25 #include "p6datastream.h" // p6IDataStream interface definition
26 
27 namespace P6R {
28 
29 typedef P6UINT32 P6SCLF;
30 
31 const P6SCLF P6SCLF_NOFLAGS = 0x00000000;
36 const P6SCLF P6SCLF_LOADALL = 0x00000001;
41 const P6SCLF P6SCLF_DBGLOG = 0x00000002;
46 const P6SCLF P6SCLF_INFLOG = 0x00000004;
51 const P6SCLF P6SCLF_WRNLOG = 0x00000008;
56 
63 const P6SCLF P6SCLF_NOUNLOAD = 0x00000010;
64 
65 extern "C" {
66 
71 
96 
97 
110 
112 typedef P6R::P6ERR (*P6INITIALIZELOADER)(P6R::p6IDataStream *pLogSink,P6R::P6INT32 nVerbosity,P6SCLF fFlags);
114 typedef P6R::P6ERR (*P6CREATEINSTANCE)(P6R::p6ICom *pOuter,const P6R::CID &cid,const P6R::IID &iid,P6R::P6VOID **ppIface);
115 typedef P6R::P6ERR (*P6GETRUNTIMEIFACE)(const P6R::IID &iid,P6R::P6VOID **ppIface);
116 typedef P6R::P6CHAR* (*P6ERRTOSTR)(P6R::P6ERR err,P6CHAR *pszBuffer,P6SIZE cBuffer);
117 typedef P6R::P6WCHAR* (*P6ERRTOWSTR)(P6R::P6ERR err,P6WCHAR *pszBuffer,P6SIZE cBuffer);
118 typedef P6R::P6INT32 (*P6ATOMICINC32)(P6R::P6INT32 volatile *pVar);
119 typedef P6R::P6INT32 (*P6ATOMICDEC32)(P6R::P6INT32 volatile *pVar);
120 }
121 
122 } // namespace
123 
124 
125 #endif
126 
127 
128 
size_t P6SIZE
Definition: p6types.h:62
P6COM smart interface pointer template.
unsigned int P6UINT32
Definition: p6types.h:40
P6UINT32 P6SCLF
Definition: p6loader.h:29
const P6SCLF P6SCLF_INFLOG
Enables the loaders info level logging to provided p6IDataStream (errors are always logged) ...
Definition: p6loader.h:46
P6API P6R::P6ERR p6InitializeLoader(P6R::p6IDataStream *pLogSink, P6R::P6INT32 nVerbosity, P6SCLF fFlags)
Initializes the component loader.
Standard error codes.
P6R::P6ERR(* P6CLEANUPLOADER)()
Definition: p6loader.h:113
P6R::P6INT32(* P6ATOMICDEC32)(P6R::P6INT32 volatile *pVar)
Definition: p6dllapi.h:31
const P6SCLF P6SCLF_NOFLAGS
Definition: p6loader.h:31
p6IDataStream interface definitions
P6R::P6ERR(* P6GETRUNTIMEIFACE)(const P6R::IID &iid, P6R::P6VOID **ppIface)
Definition: p6dllapi.h:20
P6COM runtime interfaces definitions.
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
const P6SCLF P6SCLF_NOUNLOAD
Never unload any loaded DLLs.
Definition: p6loader.h:63
const P6SCLF P6SCLF_WRNLOG
Enables the loaders warn level logging to provided p6IDataStream (errors are always logged) ...
Definition: p6loader.h:51
const P6SCLF P6SCLF_DBGLOG
Enables the loaders debug level logging to provided p6IDataStream (errors are always logged) ...
Definition: p6loader.h:41
This interface is implmented by components that support receiving streamed data.
Definition: p6datastream.h:42
int P6INT32
Definition: p6types.h:41
P6R::P6ERR(* P6INITIALIZELOADER)(P6R::p6IDataStream *pLogSink, P6R::P6INT32 nVerbosity, P6SCLF fFlags)
Definition: p6loader.h:112
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
P6COM base interface definitions.
p6IErrorInfo interface definition
A universally unique indentifier (UUID).
Definition: p6types.h:131
P6UINT32 P6ERR
COM err return type see P6ERR.h.
Definition: p6types.h:109
P6API P6R::P6ERR p6CleanupLoader()
Cleans up and shuts down the component loader.
P6COM runtime interfaces definitions.
P6R::P6INT32(* P6ATOMICINC32)(P6R::P6INT32 volatile *pVar)
Definition: p6dllapi.h:30
#define P6API
[p6]COM runtime glue
Definition: p6types.h:798
P6R::P6ERR(* P6CREATEINSTANCE)(P6R::p6ICom *pOuter, const P6R::CID &cid, const P6R::IID &iid, P6R::P6VOID **ppIface)
Definition: p6dllapi.h:21
const P6SCLF P6SCLF_ALLLOG
Enables all logging levels for the loader.
Definition: p6loader.h:55
void P6VOID
Definition: p6types.h:75
P6R Component runtime helper macros, templated, etc.
const P6SCLF P6SCLF_LOADALL
Loads all component DLLs during initialize instead of demand loading them.
Definition: p6loader.h:36
char P6CHAR
Narrow character type.
Definition: p6types.h:71