bbtkVirtualExec.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00040 #ifndef __bbtkVirtualExec_h__
00041 #define __bbtkVirtualExec_h__
00042
00043 #include "bbtkSystem.h"
00044 #include "bbtkComplexBlackBoxDescriptor.h"
00045 #include "bbtkFactory.h"
00046
00047 namespace bbtk
00048 {
00049
00050 class Interpreter;
00051 BBTK_FORWARD_DECLARE_POINTER(Interpreter);
00052
00053 class BBTK_EXPORT VirtualExec : public Object
00054 {
00055 BBTK_ABSTRACT_OBJECT_INTERFACE(VirtualExec);
00056 public:
00057 typedef enum
00058 {
00059 NoDialog,
00060 TextDialog,
00061 GraphicalDialog
00062 }
00063 DialogModeType;
00064
00065
00067 void SetInterpreter(InterpreterPointer i) { mInterpreter = i; }
00069 InterpreterPointer GetInterpreter();
00071
00072
00074 virtual Factory::Pointer GetFactory() { return Factory::Pointer(); }
00076
00077
00079 virtual void SetInputs(const std::map<std::string,std::string>& m) = 0;
00080
00083 virtual void SetNoExecMode(bool b) = 0;
00084
00085 virtual bool GetNoExecMode() const = 0;
00086
00088 virtual void SetDialogMode(DialogModeType t) = 0;
00089
00092 virtual void SetNoErrorMode(bool b) = 0;
00093 virtual bool GetNoErrorMode() const = 0;
00094
00096 virtual void LoadPackage(const std::string &name ) = 0;
00097
00099 virtual void UnLoadPackage(const std::string &name ) = 0;
00100
00102 virtual void BeginPackage (const std::string &name ) = 0;
00103
00105 virtual void EndPackage () = 0;
00106
00109 virtual void Define (const std::string &name,
00110 const std::string& pack,
00111 const std::string &scriptfilename) = 0;
00112
00115 virtual void SetCurrentFileName (const std::string &name ) = 0;
00116
00118 virtual void EndDefine () = 0;
00119
00121 virtual void Kind(const std::string& kind) = 0;
00122
00124 virtual void Create ( const std::string& boxType, const std::string&
00125 boxName) = 0;
00126
00128 virtual void Destroy (const std::string &boxName) = 0;
00129
00131 virtual void Clear() = 0;
00132
00134 virtual void Connect (const std::string &boxfrom,
00135 const std::string &output,
00136 const std::string &boxto,
00137 const std::string &input) = 0;
00138
00140 virtual void Execute (const std::string &box) = 0;
00141
00143 virtual void DefineInput (const std::string &name,
00144 const std::string &box,
00145 const std::string &input,
00146 const std::string &help) = 0;
00147
00149 virtual void DefineOutput (const std::string &name,
00150 const std::string &box,
00151 const std::string &output,
00152 const std::string &help) = 0;
00153
00155 virtual void Set (const std::string &box,
00156 const std::string &input,
00157 const std::string &value) = 0;
00158
00160 virtual std::string Get (const std::string &box,
00161 const std::string &output) = 0;
00162
00164 virtual void SetWorkspaceName( const std::string& n ) = 0;
00165
00167 virtual void Author(const std::string &authorName) = 0;
00168
00170 virtual void Category(const std::string &categories) = 0;
00171
00173 virtual void Description(const std::string &d) = 0;
00174
00176 virtual void PrintHelpListBoxes() = 0;
00177
00179 virtual std::string ShowGraph(const std::string &nameblackbox,
00180 const std::string &detailStr,
00181 const std::string &levelStr,
00182 const std::string &output_file,
00183 const std::string &custom_header,
00184 const std::string &custom_title,
00185 bool system_display = true) = 0;
00186
00188 virtual std::string ShowGraphInstances(const std::string &nameblackbox, int detail, int level, bool system_display=true) = 0;
00189
00191 virtual void PrintHelpBlackBox(const std::string &nameblackbox, const std::string &detailStr, const std::string &levelStr) = 0;
00192
00193 virtual void Reset() = 0;
00194
00196 virtual void SetMessageLevel(const std::string &kind, int level) = 0;
00197
00199 virtual void HelpMessages() = 0;
00200
00202 virtual void Print(const std::string & message) = 0;
00203
00204 virtual ComplexBlackBoxDescriptor::Pointer GetWorkspace()
00205 { return ComplexBlackBoxDescriptor::Pointer(); }
00206
00207
00208
00209 protected:
00210
00211 private:
00212
00214 InterpreterWeakPointer mInterpreter;
00215
00216 };
00217 }
00218 #endif