00001 #ifndef CmdContextCCA_h_seen 00002 #define CmdContextCCA_h_seen 00003 00004 00005 // #include "util/IO.h" 00006 // #include "jc++/jc++.h" 00007 // #include "jc++/util/jc++util.h" 00008 00009 // #include "cmd/CmdContext.h" 00010 // #include "cmd/CmdAction.h" 00011 // #include "dc/user_iface/DefaultBuilderModel.h" 00012 // #include "dc/user_iface/CmdLineBuilderView.h" 00013 00018 #define PATHSEP_STRING "/" 00019 00021 #define CCAFE_RC_NAME ".ccaferc" 00022 00029 class CmdContextCCA : public virtual CmdContext { 00030 00031 private: 00032 00033 char * tmpString; 00034 00035 public: 00036 00037 // Specific interpreters define different globals like so. 00039 DefaultBuilderModel *bm; 00040 00042 CmdLineBuilderView *bv; 00043 00046 CmdContextCCA(CmdLineBuilderView *bv_, DefaultBuilderModel* bm) ; 00047 00050 CmdContextCCA(FILE* out, CmdLineBuilderView *bv_, DefaultBuilderModel* bm) ; 00051 00052 virtual ~CmdContextCCA(); 00053 00055 virtual void pn(char *s) ; 00056 00058 virtual void p(char *s) ; 00059 00061 virtual void pn(char s) ; 00062 00064 virtual void p(char s) ; 00065 00067 virtual char *prompt() ; 00068 00071 CFREE virtual char *readLine(int &err); 00072 00075 virtual char *getInstance(char *instanceName) ; 00076 00079 virtual char *getClass(char *className) ; 00080 00083 char *getRCInfo(int & linesRead, int & lineErr); 00084 00085 protected: 00087 FILE* in; 00088 00090 void setup(); 00091 00093 void trim_blanks(char *str); 00094 00104 CFREE virtual char *_readLine(int &readerr); 00105 00110 virtual int initRC(); 00111 00114 int rcLine(char *buf, int bufSize); 00115 00118 int badMagic(FILE *file, const char *fname); 00119 00125 bool isFakeEOF(char *line); 00126 00128 char *rcFileName; 00129 00131 FILE *rc; 00132 00134 int lineCount; 00135 00137 int lastErr; 00138 00140 int rcUnknown; 00141 }; 00142 #endif //CmdContextCCA_h_seen