00001 /**************************************************************************** 00002 dEVICE cOMMUNITIES dEVELOPMENT tOOLKIT 00003 00004 DCDT_InnerLinkManager.h 00005 00006 COPYRIGHT (C) 2002 Alessandro Mazzini (mazzini@airlab.elet.polimi.it) 00007 (C) 2003 Cristian Giussani (cgiussani@fastflow.it) 00008 00009 This library is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU Lesser General Public 00011 License as published by the Free Software Foundation; either 00012 version 2 of the License, or (at your option) any later version. 00013 00014 This library is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public 00020 License along with this library; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00022 00023 ****************************************************************************/ 00024 00025 #ifndef INNERLINKMAN_H 00026 #define INNERLINKMAN_H 00027 00028 #include <DCDT_Member.h> 00029 #include <DCDT_InnerChannel.h> 00030 #include <DCDT_LinkRx.h> 00031 00032 #define ILM_RECV_TIMER 3000000 00033 00038 class DCDT_InnerLinkManager : public DCDT_Member { 00039 00040 public: 00041 DCDT_InnerLinkManager(DCDT_Agora* agora); 00042 ~DCDT_InnerLinkManager(); 00043 00044 void Init(); 00045 void DoYourJob(int par = 0); 00046 00047 void CreateLink(int status); 00048 InnerCommData* CreateName(int count); 00049 void SetCDs(int status); 00050 00051 //Search for existing Agora on the same machine 00052 int LookForExistingAgora (int &agoraID); 00053 00054 private: 00055 DCDT_InnerChannel *InnerChannel; 00056 InnerCommData *InnerCD, *InnerStartCD, *localCD, *remoteCD, *name_cd; 00057 CommData *hs_cd; 00058 00059 int innerlink_counter; 00060 char *name; 00061 HSMsgHeader *hs_header; 00062 00063 }; 00064 00065 #endif //define