メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

WBDllLoaderImpl.h

00001 /** WBDllLoader.h を使用する際に,DLL関数のスタブをインプリメントする際に使用するヘッダ.
00002     詳細は, WBDllLoader.h を参照
00003 */
00004 #ifndef DLLLOADER_ReportError
00005 #define DLLLOADER_ReportError
00006 static void ReportError(const char* pname){
00007     DSTR << "Fail to find '" << pname << "'" << std::endl;
00008 }
00009 #endif
00010 
00011 #ifndef DLLFUNC_CTYPE
00012 # define DLLFUNC_CTYPE
00013 #endif
00014 
00015 #ifdef DLLFUNC_RTYPE
00016     DLLFUNC_RTYPE DLLFUNC_CTYPE DLLFUNC_NAME DLLFUNC_ARGDEF{
00017         typedef DLLFUNC_RTYPE DLLFUNC_CTYPE functype DLLFUNC_ARGDEF;
00018         static functype* func=NULL;
00019         static bool bFirst = true;
00020         if (!func){
00021             func = (functype*)dllLoader.GetProc(DLLFUNC_STR);
00022             if (!func){
00023                 if (bFirst) ReportError(DLLFUNC_STR);
00024                 bFirst = false;
00025                 return DLLFUNC_RTYPE();
00026             }
00027         }
00028         return func DLLFUNC_ARGCALL;
00029     }
00030     #undef DLLFUNC_RTYPE
00031 #else
00032     void DLLFUNC_CTYPE DLLFUNC_NAME DLLFUNC_ARGDEF{
00033         typedef void DLLFUNC_CTYPE functype DLLFUNC_ARGDEF;
00034         static functype* func=NULL;
00035         if (!func){
00036             func = (functype*)dllLoader.GetProc(DLLFUNC_STR);
00037             if (!func){
00038                 ReportError(DLLFUNC_STR);
00039                 return;
00040             }
00041         }
00042         func DLLFUNC_ARGCALL;
00043     }
00044 #endif
00045 
00046 #undef DLLFUNC_NAME
00047 #undef DLLFUNC_STR
00048 #undef DLLFUNC_ARGDEF
00049 #undef DLLFUNC_ARGCALL
00050 #undef DLLFUNC_CTYPE 

Springheadに対してSun Apr 16 01:57:58 2006に生成されました。  doxygen 1.4.1