Itasca C++ Interface
|
This Interface provides an entry point for command processing. More...
#include <ikernel.h>
Classes | |
struct | ResultsDesc |
Public Types | |
using | Skip = itascaxd::IKernelBase::Skip |
using | signal_type = shared::Signal<const IThing *,const IContainer *> |
Public Member Functions | |
virtual itascaxd::IKernelBase * | getIKernelBase ()=0 |
virtual bool | initialize (IKernelInput *input, IKernelOutput *output)=0 |
virtual bool | disconnectFromInterface ()=0 |
This is called to indicate that the GUI is shutting down - no calls to input or output should occurr. | |
virtual bool | security (security::ISC *scomm)=0 |
virtual bool | preCommandLineArguments (StringList *args)=0 |
virtual bool | commandLineArguments (const StringList &args)=0 |
virtual std::vector< InputLine > | fromCommandLineArguments (const StringList &args)=0 |
virtual string | processCommands (itascaxd::IInputItem *ii, const string &inputPath=string(), bool recursive=false, bool suppress=false)=0 |
virtual string | processCommands (const std::vector< InputLine > &sl, const string &inputPath=string(), bool recursive=false)=0 |
virtual string | processCommand (const InputLine &s, const string &inputPath=string(), bool recursive=false)=0 |
virtual bool | getAutoTestMode () const =0 |
Return the test mode flag. | |
virtual StringList | getTestDirectories () const =0 |
Returns all directories current part of the testing system. | |
virtual IKernelOutput * | getIKernelOutput ()=0 |
Returns a pointer to a IKernelOutput object. | |
virtual void | addCommandDocumentation (const string &referencename, const StringList &list)=0 |
Add cmd-doc definitions from a StringList. | |
virtual void | addSphinxCommands (const StringList &)=0 |
Add inline help commands. | |
virtual void | addSphinxFish (const StringList &)=0 |
Add inline help FISH. | |
virtual string | outputCommandsForModel () const =0 |
Output commands and FISH for inline help. | |
virtual string | outputFishForModel () const =0 |
virtual int | testValidCommand (const string &line, string *errorinfo=0) const =0 |
virtual int | testValidCommandText (const string &text, string *errorinfo=0, std::vector< int > *errorlines=0) const =0 |
virtual QPair< string, string > | expandCommandKeyword (const string &line, string &fileName, int cursor=-1) const =0 |
virtual StringList | getCommandInformation (const string &line, int cursor=-1, bool thinkFish=false) const =0 |
virtual string | getSaveFileName () const =0 |
Get the name of the last save file. | |
virtual bool | modelChanged () const =0 |
Model changed state. | |
virtual bool | projectChanged () const =0 |
Project changed state. | |
virtual void | saveProject (Archive2 &a) const =0 |
Project archive. | |
virtual bool | restoreProject (Archive2 &a, uint64 label)=0 |
virtual void | remapProject (Archive2 &a)=0 |
virtual bool | readSaveFileInfo (shared::Stream &dev, IInputRecord::FileDataSet *set, StringList *lines) const =0 |
virtual void | compressFileList (const StringList &files)=0 |
virtual void | decompressFileList (const StringList &files)=0 |
virtual bool | fileIsCompressed (const string &filename) const =0 |
Return true if the given file has been compressed. | |
virtual std::vector< ResultsDesc > | getResultsState () const =0 |
virtual bool | getResultsIntervalOn () const =0 |
virtual uint64 | getResultsIntervalClock () const =0 |
virtual string | getResultsIntervalProcess () const =0 |
virtual uint64 | getResultsIntervalStep () const =0 |
virtual double | getResultsIntervalTime () const =0 |
virtual string | getResultsIntervalPrefix () const =0 |
virtual uint32 | getResultsIntervalIndex () const =0 |
virtual void | startProcessingFile (const string &fullPathName, const string &type)=0 |
virtual void | stopProcessingFile (const string &fullPathName, const string &type)=0 |
virtual void | resetProject (bool quiet=false)=0 |
Clears PROJECT level memory (filter, persistant FISH, etc). Called by NEW PROJECT. | |
virtual void | cleanModel (bool all=false)=0 |
virtual void | calmModel ()=0 |
virtual void | filterModel (const itascaxd::IRange &)=0 |
Call a filter method in each module. | |
virtual signal_type * | getResetSignal () const =0 |
Return the signal indicating that the model will be reset, i.e., it is emitted before a reset. | |
virtual signal_type * | getSaveSignal () const =0 |
Return the signal indicating that the model will be saved, i.e., it is emitted before a save. | |
virtual signal_type * | getRestoredSignal () const =0 |
Return the signal indicating that the model has been restored. i.e., it is emitted after a restore. | |
virtual void | save (shared::Stream &dev, bool readOnly, bool text)=0 |
virtual StringList | restore (shared::Stream &dev, shared::Stream *out, Skip skip)=0 |
virtual void | logEvent (const string &str)=0 |
virtual bool | getInCycle () const =0 |
Get the boolean indicating cycling mode. | |
virtual StringList | getAllTypeKeywords () const =0 |
Public Attributes | |
shared::Signal | abort |
Due to a QUIT or a STOP, or a catastrophic error, etc. | |
shared::Signal< const char *, const string &, bool > | pushInputItem |
shared::Signal< const char *, const string & > | popInputItem |
shared::Signal< const string & > | restoreModelState |
shared::Signal | resetModelState |
This SIGNAL is emitted when the model state is reset, (a NEW command, for example). | |
shared::Signal< const string & > | exportResultFile |
shared::Signal< const string & > | importResultFile |
shared::Signal< int32 > | compressingFileIndex |
shared::Signal< int32 > | compressingFileProgress |
shared::Signal< const string &, int64, int64, int64 > | tagInEditor |
shared::Signal< const string & > | projectSysPath |
This Interface provides an entry point for command processing.
using itasca::IKernel::signal_type = shared::Signal<const IThing *,const IContainer *> |
Defines the Signal2<> type used for signaling to FISH that the model will be reset. It will be given with null arguments and all FISH pointers will be cleared. Needs to be hooked up
via the registerSignalOnThingDelete methed.
|
pure virtual |
Call a calm method defined in each module. This "calms" the model in a pre-defined and module specific way. For mechanical rigid bodies, all dofs of velocity are set to 0.
|
pure virtual |
Asks the model the "clean" itself - doing whatever calculations are necessary to make itself valid for cycling after whatever changes were made.
|
pure virtual |
This processes a list of command line arguments. args may have been edited by the GUI. args does NOT include the traditional first argument, the command that started the process. Returns TRUE if the program should shut down. Should be called after initialize and security.
|
pure virtual |
Compress a list of save files. Two different SIGNALS are emitted during compression of a list of files. compressingFileIndex(int) gives the index of the file which is currently being processed, this is an integer between 0 and files.size()-1. compressingFileProgress(int) give the progress of the file which is currently being compressed, this is an integer between 0 and
|
pure virtual |
Given a line of proposed input to the command processor, return the full expanded command and first keyword from the first two tokens. Will return null in either if there is no match, or if there is no valid keyword or token.
|
pure virtual |
Given a line of proposed input to the command processor, returns information regarding the signature of the most recent command/FISH function referenced.
|
pure virtual |
This must be called before the kernel object (or the code in general) can be used. its and iti are the main text communication channels. comm is used for supplementary things - like getKey(), information(), etc. poll is called during all lengthy computations to give a single-threaded GUI the chance to respond to user input.
|
pure virtual |
Process command line arguments prior to restoring projects Neccesary to assing memory in fortran codes
|
pure virtual |
Send contents of s as a command.
Command processing is done immediately, unless called recursively because commands are already being processed. In this case the commands are added to the lowest item on the stack and will therefore be processed after the stack is done and has exhausted prior commands. Returns the error message if an error resulted, or string() if none occurred. source and line indicate the source of the commands in sl, and the line number of the first line in sl from the original source. inputPath indicates the absolute pathname of the source file name. Will catch and handle exceptions thrown during command processing.
|
pure virtual |
Send contents of sl as commands.
Command processing is done immediately, unless called recursively because commands are already being processed. In this case the commands are added to the lowest item on the stack and will therefore be processed after the stack is done and has exhausted prior commands. Returns the error message if an error resulted, or string() if none occurred. source and line indicate the source of the commands in sl, and the line number of the first line in sl from the original source. inputPath indicates the absolute pathname of the source file name. Will catch and handle exceptions thrown during command processing.
|
pure virtual |
Send contents of ii as commands, takes ownership of ii. Returns the error message if an error resulted, or string() if none occurred. Command processing is done immediately, unless called recursively because commands are already being processed. In this case the commands are added to the lowest item on the stack and will therefore be processed after the stack is done and has exhausted prior commands. Will catch and handle exceptions thrown during command processing.
|
pure virtual |
Checks the input stream input, which is assumed to be the start of a valid save file. It checks for the existence of an ASCII format save file header, and returns FALSE if one is not found. If one is found, it returns the contents of the header in header.
|
pure virtual |
Restores file from filename name. Clears current model and opens data stream. This also loads the header (calls restoreHeader) and checks for save file validity. This function also calls remap() and clears containers of index arrays.
|
pure virtual |
Saves to filename name. Checks for file space and opens data stream. Assigns indices to containers.
|
pure virtual |
This function should be called after initialize but before processing commands. It checks the current security setting. Returns TRUE if program should shut down. Note - might want to modify argument in some encrypted way to verify call made correctly.
|
pure virtual |
This SIGNAL Indicates that a file is being processed by the kernel.
|
pure virtual |
This SIGNAL Indicates that a file has finished being processed by the kernel, after a call to startProcessingFile().
|
pure virtual |
Tests line as a line from a data file for validity, using internal doc data. Returns -1 if OK, otherwise returns the number of the first bad token in line. errorinfo may be filled with a specific error message.
|
pure virtual |
Tests the context of text as multiple lines of text, separated by '
'. Returns the number of errors encountered (0 if none). errorinfo may be filled with a specific error message. errorlines is filled with the character positions where errors were found in each line of text, -1 indicating no error. (??)
shared::Signal<int32> itasca::IKernel::compressingFileIndex |
This SIGNAL indicates which file is being compressed during a call to compressFileList. The value is an integer between 0 and files.size()-1.
shared::Signal<int32> itasca::IKernel::compressingFileProgress |
This SIGNAL indicates the compression progressof the file presently being compressed during a call to compressFileList. The value is an integer between 0 and 100.
shared::Signal<const char *, const string &> itasca::IKernel::popInputItem |
This SIGNAL is emitted when an inputitem is popped off the input stack.
shared::Signal<const char *, const string &, bool> itasca::IKernel::pushInputItem |
shared::Signal<const string &> itasca::IKernel::restoreModelState |
This SIGNAL is emiited when a model is restored from a saved state.