00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackArgParser__
00021 #define __JackArgParser__
00022
00023 #include "jslist.h"
00024 #include "driver_interface.h"
00025 #include "JackCompilerDeps.h"
00026 #include "JackError.h"
00027
00028 #include <string>
00029 #include <algorithm>
00030 #include <vector>
00031 #include <iostream>
00032 #include <fstream>
00033
00034 namespace Jack
00035 {
00036
00037 class SERVER_EXPORT JackArgParser
00038 {
00039 private:
00040
00041 std::string fArgString;
00042 int fArgc;
00043 std::vector<std::string> fArgv;
00044
00045 public:
00046
00047 JackArgParser ( const char* arg );
00048 ~JackArgParser();
00049 std::string GetArgString();
00050 int GetNumArgv();
00051 int GetArgc();
00052 int GetArgv ( std::vector<std::string>& argv );
00053 int GetArgv ( char** argv );
00054 void DeleteArgv ( const char** argv );
00055 bool ParseParams ( jack_driver_desc_t* desc, JSList** param_list );
00056 void FreeParams ( JSList* param_list );
00057 };
00058
00059 }
00060
00061 #endif