/home/tetron/hack/vos/libs/vos/metaobjects/misc/search.hh
Go to the documentation of this file.00001 #ifndef _SEARCH_HH_ 00002 #define _SEARCH_HH_ 00003 00004 #include <vos/vos/vos.hh> 00005 00006 #include "miscdefs.hh" 00007 #include "parsenode.hh" 00008 00009 #ifndef MISC_EXPORTS 00010 IMPORT_METAOBJECT_FACTORIES(Search) 00011 #endif 00012 00013 namespace VOS { 00014 MISC_API ParseNode* doSearchParse(const std::string& startrule); 00015 MISC_API void printParseTree(ParseNode* pn, int depth = 0); 00016 00017 class MISC_API LocalSearch : public MetaObject 00018 { 00019 public: 00020 LocalSearch(VobjectBase* supeobject); 00021 static MetaObject* new_LocalSearch(VobjectBase* superobject, const std::string& type); 00022 virtual const std::string getVOSType(); 00023 void handleSearch(Message* m); 00024 }; 00025 00026 class MISC_API RemoteSearch : public MetaObject 00027 { 00028 public: 00029 RemoteSearch(VobjectBase* supeobject); 00030 static MetaObject* new_RemoteSearch(VobjectBase* superobject, const std::string& type); 00031 virtual const std::string getVOSType(); 00032 00033 void search(Vobject* start, const std::string& startrule, VobjectStore** cod, const std::string& rules, ProgressMeterCallback* progress = 0); 00034 }; 00035 } 00036 00037 #endif