From 2ecf99ca6ebd01dbb6ac83513e4c0c924645865b Mon Sep 17 00:00:00 2001 From: jean-pierre roux Date: Mon, 6 Oct 2008 09:06:51 +0000 Subject: [PATCH] *** empty log message *** --- packages/std/src/bbstdExecBbiCommand.cxx | 57 ++++++++++----------- packages/std/src/bbstdExecSystemCommand.cxx | 32 +++++------- packages/std/src/bbstdExecSystemCommand.h | 14 +++-- 3 files changed, 47 insertions(+), 56 deletions(-) diff --git a/packages/std/src/bbstdExecBbiCommand.cxx b/packages/std/src/bbstdExecBbiCommand.cxx index 903ea5d..aab102e 100755 --- a/packages/std/src/bbstdExecBbiCommand.cxx +++ b/packages/std/src/bbstdExecBbiCommand.cxx @@ -13,17 +13,16 @@ namespace bbstd { bbSetInputIn("help"); } - void ExecBbiCommand::DoProcess() { - + // Look for the interpreter bbtk::Interpreter::Pointer I; - bool delete_inter = false; - if (bbGetParent() != 0) - { - bbtk::Factory::Pointer f + bool delete_inter = false; + if (bbGetParent() != 0) + { + bbtk::Factory::Pointer f = ((bbtk::ComplexBlackBoxDescriptor*)bbGetParent() ->bbGetDescriptor().get())->GetFactory(); if ((f != 0)&& @@ -31,46 +30,46 @@ namespace bbstd { I = f->GetExecuter()->GetInterpreter(); } - } - if (I==0) - { + } + if (I==0) + { // bbtkError("ExecBbiCommand::DoProcess() : could not find interpreter"); I = bbtk::Interpreter::New(); - delete_inter = true; - } + delete_inter = true; + } unsigned int i; - + bool ok=true; int pos1=0,pos2; pos2 = bbGetInputIn().find(";",pos1); std::string ccommand; while (ok==true) - { - if (pos2==-1) { - ok=false; - ccommand=bbGetInputIn().substr(pos1,bbGetInputIn().length()-pos1 ); - } else { + if (pos2==-1) + { + ok=false; + ccommand=bbGetInputIn().substr(pos1,bbGetInputIn().length()-pos1 ); + } else { ccommand=bbGetInputIn().substr(pos1,pos2-pos1); } for ( i=0 ; i < ccommand.length() ; i++) + { + if (ccommand[i]==39) { - if (ccommand[i]==39) - { ccommand[i]=34; - } - } - + } + } + I->InterpretLine( ccommand ); pos1=pos2+1; pos2 = bbGetInputIn().find(";",pos2+1); - + } // if (delete_inter) delete I; - - /* Grrr not works in windows + + /* Grrr not works in windows char * pch; pch = strtok (bbGetInputIn(),";"); while (pch != NULL) @@ -83,16 +82,14 @@ namespace bbstd { ccommand[i]=34; } - } + } printf("EED ExecBbiCommand::DoProcess 2 %s\n",ccommand.c_str()); bbtk::Interpreter::mGlobalInterpreter->InterpretLine( ccommand ); pch = strtok (NULL, ";"); } -*/ -} - - + */ + } } // EO namespace bbstd diff --git a/packages/std/src/bbstdExecSystemCommand.cxx b/packages/std/src/bbstdExecSystemCommand.cxx index 1e8ee9e..a2daacb 100755 --- a/packages/std/src/bbstdExecSystemCommand.cxx +++ b/packages/std/src/bbstdExecSystemCommand.cxx @@ -7,13 +7,12 @@ namespace bbstd BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,ExecSystemCommand); BBTK_BLACK_BOX_IMPLEMENTATION(ExecSystemCommand,bbtk::AtomicBlackBox); - + void ExecSystemCommand::bbUserConstructor() { bbSetInputIn("help"); } - - + void ExecSystemCommand::DoProcess() { bool ok=true; @@ -21,29 +20,28 @@ namespace bbstd pos2 = bbGetInputIn().find(";",pos1); std::string ccommand; while (ok) - { + { if (pos2==-1) { ok=false; ccommand=bbGetInputIn().substr(pos1,bbGetInputIn().length()-pos1 ); - } - else - { + } else { ccommand=bbGetInputIn().substr(pos1,pos2-pos1); } - for (unsigned int i=0 ; i < ccommand.length() ; i++) + for (unsigned int i=0 ; i < ccommand.length() ; i++) { if (ccommand[i]==39) - { - ccommand[i]=34; - } - } + { + ccommand[i]=34; + } + } std::cout << "*** Executing system command : '"<InterpretLine( ccommand ); system ( ccommand.c_str() ); pch = strtok (NULL, ";"); } - // bbSetOutputOut( bbGetInputIn() ); - */ + // bbSetOutputOut( bbGetInputIn() ); + */ } - - } // EO namespace bbstd diff --git a/packages/std/src/bbstdExecSystemCommand.h b/packages/std/src/bbstdExecSystemCommand.h index 9f070b8..281807c 100755 --- a/packages/std/src/bbstdExecSystemCommand.h +++ b/packages/std/src/bbstdExecSystemCommand.h @@ -8,27 +8,25 @@ namespace bbstd class ExecSystemCommand : - public bbtk::AtomicBlackBox + public bbtk::AtomicBlackBox { + public: BBTK_BLACK_BOX_INTERFACE(ExecSystemCommand,bbtk::AtomicBlackBox); - BBTK_DECLARE_INPUT(In,std::string); - // BBTK_DECLARE_OUTPUT(Out,std::string); + BBTK_DECLARE_INPUT(In,std::string) BBTK_PROCESS(DoProcess); void DoProcess(); protected: virtual void bbUserConstructor(); - }; BBTK_BEGIN_DESCRIBE_BLACK_BOX(ExecSystemCommand,bbtk::AtomicBlackBox); BBTK_NAME("ExecSystemCommand"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); - BBTK_DESCRIPTION("Execute bbi commands"); - BBTK_INPUT(ExecSystemCommand,In,"bbi commands separated by ';' , use '' to indicate strings ex. help 'graph' ",std::string,""); - // BBTK_OUTPUT(ExecSystemCommand,Out,"Concatenated string",std::string); + BBTK_DESCRIPTION("Executes system (O.S.) commands"); + BBTK_INPUT(ExecSystemCommand,In,"system (O.S.) commands separated by ';' , use '' to indicate strings ex. help 'graph' ",std::string,""); BBTK_END_DESCRIBE_BLACK_BOX(ExecSystemCommand); - + } // EO namespace bbstd #endif // __bbstdExecSystemCommand_h_INCLUDED__ -- 2.45.1