00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _ONE_TO_ONE_MSG_H
00011 #define _ONE_TO_ONE_MSG_H
00012
00022 class OneToOneMsg: public Msg
00023 {
00024 friend unsigned int Msg::initMsgManagers();
00025 public:
00026 OneToOneMsg( const Eref& e1, const Eref& e2, unsigned int msgIndex);
00027 ~OneToOneMsg();
00028
00029 Eref firstTgt( const Eref& src ) const;
00030
00031 void sources( vector< vector< Eref > >& v ) const;
00032 void targets( vector< vector< Eref > >& v ) const;
00033
00034 Id managerId() const;
00035
00036 ObjId findOtherEnd( ObjId end ) const;
00037
00038 Msg* copy( Id origSrc, Id newSrc, Id newTgt,
00039 FuncId fid, unsigned int b, unsigned int n ) const;
00040
00042 static unsigned int numMsg();
00043 static char* lookupMsg( unsigned int index );
00044
00046 static const Cinfo* initCinfo();
00047 private:
00048 DataId i1_;
00049 DataId i2_;
00050 static Id managerId_;
00051 static vector< OneToOneMsg* > msg_;
00052 };
00053
00054 #endif // _ONE_TO_ONE_MSG_H