00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef _SHARED_FINFO_H
00010 #define _SHARED_FINFO_H
00011
00018 class SharedFinfo: public Finfo
00019 {
00020 public:
00021 SharedFinfo( const string& name, const string& doc,
00022 Finfo** entries, unsigned int numEntries );
00023
00024 ~SharedFinfo() {;}
00025
00026 void registerFinfo( Cinfo* c );
00027
00028 bool strSet( const Eref& tgt, const string& field,
00029 const string& arg ) const;
00030 bool strGet( const Eref& tgt, const string& field,
00031 string& returnValue ) const;
00032
00037 bool checkTarget( const Finfo* target ) const;
00038
00043 bool addMsg( const Finfo* target, ObjId mid, Element* src ) const;
00044
00045 const vector< SrcFinfo* >& src() const;
00046
00047 const vector< Finfo* >& dest() const;
00048
00050
00052 vector< string > innerSrc() const;
00053 vector< string > innerDest() const;
00054
00056 string rttiType() const;
00057
00058 private:
00059 vector< SrcFinfo* > src_;
00060 vector< Finfo* > dest_;
00061 };
00062
00063 #endif // _SHARED_FINFO_H