SystemCommandStringList.h

Go to the documentation of this file.
00001 
00024 #ifndef _SYSTEMCOMMANDSTRINGLIST_H
00025 #define _SYSTEMCOMMANDSTRINGLIST_H
00026 
00027 #include "AbstractString.h"
00028 #include "../util/Thread.h"
00029 
00033 class SystemCommandStringListFeature: public AbstractStringListFeature
00034 {
00035         private:
00037                 const string providerName;
00039                 const string featureName;
00040 
00041         public:
00043                 SystemCommandStringListFeature(stringcode *code, long* maxlen, const stringvector *names, const string providerName, const string featureName) :
00044                         AbstractStringListFeature(code, maxlen, names), providerName(providerName), featureName(featureName) {}
00046                 SystemCommandStringListFeature(stringcode *code, long* maxlen, const string providerName, const string featureName) :
00047                         AbstractStringListFeature(code, maxlen), providerName(providerName), featureName(featureName) {}
00048 
00049                 virtual const string getName() const;
00050 
00051 #if _DEBUG_FEATURES
00052                 virtual string toString() const;
00053 #endif
00054 };
00055 
00058 class SystemCommandStringListFeatureProvider : public FeatureProvider, public Thread
00059 {
00060         private:
00062 
00063                 const string providerName;
00064                 const string featureName;
00065                 stringcode* stringCodeList;
00066                 long* maxlen;
00067                 int delay;
00068                 mutable Lock lockStringList;
00069 
00070                 string executeSystemCommand();
00072 
00073         protected:
00075                 string systemCommand;
00076 
00077         public:
00079                 static void initialize(string name);
00080 
00082                 SystemCommandStringListFeatureProvider(
00083                         string featureProviderName,
00084                         string featureName,
00085                         string systemCommand,
00086                         stringvector* featureList,
00087                         stringcode* stringCodeList,
00088                         long* maxlen,
00089                         featureparams& params);
00091                 virtual ~SystemCommandStringListFeatureProvider() throw();
00092 
00093                 virtual Feature* getFeature(string name) const;
00094                 virtual Feature* getSample(string name) const;
00095                 virtual void nextSample(clock_t checkpoint);
00096 
00097                 virtual void run() throw();
00098 
00099         protected:
00101 
00102                 stringvector stringList;
00103                 bool stringListValid;
00105 };
00106 
00107 #endif
00108 

Generated on Mon Jun 5 10:20:42 2006 for Intelligence.kdevelop by  doxygen 1.4.6