00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef LINKRX_H
00026 #define LINKRX_H
00027
00028 #include <DCDT_Member.h>
00029 #include <DCDT_Channel.h>
00030 #include <DCDT_LinkTx.h>
00031
00040 class DCDT_LinkRx : public DCDT_Member {
00041 public:
00042 DCDT_LinkRx(DCDT_Agora *agora, int id, int r_id);
00043 ~DCDT_LinkRx() {};
00044
00045 CommData* Prepare(int stat, CommData *l_cd, CommData *r_cd);
00046 void Init();
00047 void DoYourJob(int par = 0);
00048 CommData* Restart(int restart_status, CommData *l_cd, CommData *r_cd);
00049 CommData* GetCommData();
00050 void ResetToConnecting(CommData *l_cd, CommData *r_cd);
00051 void ChangeStatus(int newstat) { status = newstat; };
00052 int ReadStatus() { return status; };
00053 int ReadRemoteID() { return remoteID; };
00054 void SetCDs(CommData *l_cd, CommData *r_cd);
00055 void Close();
00056
00057 private:
00058
00059
00060
00061
00062 int linkID, remoteID;
00063 int creation_status, status, restart_counter, lost_counter;
00064
00066 DCDT_Channel *channel;
00067
00068 unsigned int mymask[NUMINT_MSGTYPE];
00069 CommData *localCD, *remoteCD;
00070 int i;
00071
00073 DCDT_Msg *msgrcv;
00074
00076 unsigned int *subs_mask_rcv;
00077
00079 DCDT_LinkTx* LinkTxPtr;
00080
00081 };
00082
00083
00084 #endif //define