CrossFramework Library
|
00001 00006 #if defined(XBASE_INCLUDED_ARGUMENT_HPP) 00007 #else 00008 #define XBASE_INCLUDED_ARGUMENT_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/BuiltInTypes.hpp> 00012 00013 //------------------------------------------------------------ 00014 namespace XBase { 00016 00017 00018 class Argument 00019 { 00020 public: 00021 // 引数の最大数。 00022 enum { ArgCountMax = 256 }; 00023 00024 // コンストラクタをユーザーが直接呼ぶことは想定していない。 00025 // 引数のポインタはポインタをコピーするだけでポインタ先はコピーしない。 00026 // つまりポインタ先のデータを破棄しないように注意すること。 00027 Argument( 00028 uint aArgCount 00029 , const char* const* aArgValues 00030 , const char* aAppFileName 00031 , const char* aAppDirPath 00032 ); 00033 00035 00036 uint argCount()const; 00037 const char* argValue( uint aIndex )const; 00039 00041 00042 00047 const char* exeFileName()const; 00048 00056 const char* exeDirPath()const; 00058 00059 private: 00060 uint mArgCount; 00061 const char*const* mArgValues; 00062 const char* mExeFileName; 00063 const char* mExeDirPath; 00064 }; 00066 } 00067 //------------------------------------------------------------ 00068 #endif 00069 // EOF