Exemple #1
0
        public RoomClass MallocRoom(string group_id_str_val)
        {
            RoomClass room = new RoomClass(group_id_str_val);

            PhwangUtils.ListEntryClass list_entry = this.listMgr.MallocEntry(room);
            room.BindListEntry(list_entry);
            return(room);
        }
Exemple #2
0
        public GroupClass MallocGroup(string theme_data_val)
        {
            GroupClass group = new GroupClass(theme_data_val);

            PhwangUtils.ListEntryClass list_entry = this.listMgr.MallocEntry(group);
            group.BindListEntry(list_entry);
            return(group);
        }
Exemple #3
0
        public SessionClass MallocSession()
        {
            SessionClass session = new SessionClass(this.linkObject);

            PhwangUtils.ListEntryClass list_entry = this.listMgr.MallocEntry(session);
            session.BindListEntry(list_entry);
            return(session);
        }
Exemple #4
0
        public BaseClass MallocGoBase(string room_id_val)
        {
            BaseClass go_base = new BaseClass(room_id_val);

            PhwangUtils.ListEntryClass list_entry = this.listMgr.MallocEntry(go_base);
            go_base.BindListEntry(list_entry);
            return(go_base);
        }
Exemple #5
0
        public LinkClass MallocLink(string my_name_val)
        {
            LinkClass link = new LinkClass(my_name_val);

            PhwangUtils.ListEntryClass list_entry = this.listMgr.MallocEntry(link);
            link.BindListEntry(list_entry);
            this.nameListObject().UpdateNameList();
            return(link);
        }
Exemple #6
0
        public LinkClass GetLinkById(int id_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryById(id_val);
            if (list_entry == null)
            {
                return(null);
            }
            LinkClass link = (LinkClass)list_entry.Data();

            return(link);
        }
Exemple #7
0
        public GroupClass GetGroupByGroupId(int group_id_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryById(group_id_val);
            if (list_entry == null)
            {
                return(null);
            }
            GroupClass room_object = (GroupClass)list_entry.Data();

            return(room_object);
        }
Exemple #8
0
        public LinkClass GetLinkByMyName(string my_name_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryByCompare(CompareMyNameFunc, my_name_val);
            if (list_entry == null)
            {
                return(null);
            }
            LinkClass link = (LinkClass)list_entry.Data();

            return(link);
        }
Exemple #9
0
        public RoomClass GetRoomByRoomId(int id_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryById(id_val);
            if (list_entry == null)
            {
                return(null);
            }
            RoomClass room_object = (RoomClass)list_entry.Data();

            return(room_object);
        }
Exemple #10
0
        public SessionClass GetSessionBySessionId(int id_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryById(id_val);
            if (list_entry == null)
            {
                return(null);
            }
            SessionClass session = (SessionClass)list_entry.Data();

            return(session);
        }
Exemple #11
0
        public BaseClass GetBaseById(int id_val)
        {
            PhwangUtils.ListEntryClass list_entry = this.listMgr.GetEntryById(id_val);
            if (list_entry == null)
            {
                return(null);
            }
            BaseClass base_object = (BaseClass)list_entry.Data();

            return(base_object);
        }
Exemple #12
0
 public void BindListEntry(PhwangUtils.ListEntryClass list_entry_objectg_val)
 {
     this.listEntryObject = list_entry_objectg_val;
     this.groupId         = this.listEntryObject.Id();
     this.groupIdStr      = PhwangUtils.EncodeNumberClass.EncodeNumber(this.groupId, GROUP_MGR_PROTOCOL_GROUP_ID_SIZE);
 }
Exemple #13
0
 public void BindListEntry(PhwangUtils.ListEntryClass list_entry_objectg_val)
 {
     this.listEntryObject = list_entry_objectg_val;
     this.sessionId       = this.listEntryObject.Id();
     this.sessionIdStr    = PhwangUtils.EncodeNumberClass.EncodeNumber(this.sessionId, Protocols.FabricFrontEndProtocolClass.FABRIC_SESSION_ID_SIZE);
 }
Exemple #14
0
        private string processGetLinkDataRequest(string input_data_val)
        {
            this.debugIt(true, "processGetLinkDataRequest", "input_data_val = " + input_data_val);
            GetLinkDataRequestFormat format_data;

            using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(input_data_val)))
            {
                DataContractJsonSerializer deseralizer = new DataContractJsonSerializer(typeof(GetLinkDataRequestFormat));
                format_data = (GetLinkDataRequestFormat)deseralizer.ReadObject(ms);// //反序列化ReadObject
                this.debugIt(true, "processGetLinkDataRequest", "link_id = " + format_data.link_id);
            }

            LinkClass link = this.LinkMgrObject().GetLinkById(format_data.link_id);

            string downlink_data = RESPONSE_IS_GET_LINK_DATA_NAME_LIST + this.FabricRootObject().NameListObject().NameListTagStr();

            int max_session_table_array_index = link.GetSessionArrayMaxIndex();

            PhwangUtils.ListEntryClass[] session_table_array = link.GetSessionArrayEntryTable();
            string pending_session_data = "";

            for (int i = 0; i <= max_session_table_array_index; i++)
            {
                PhwangUtils.ListEntryClass list_entry = session_table_array[i];
                SessionClass session = (SessionClass)list_entry.Data();
                if (session != null)
                {
                    if (session.GetPendingDownLinkDataCount() > 0)
                    {
                        downlink_data = downlink_data + Protocols.FabricFrontEndProtocolClass.WEB_FABRIC_PROTOCOL_RESPOND_IS_GET_LINK_DATA_PENDING_DATA + link.LinkIdStr() + session.SessionIdStr();
                    }
                }
            }

            /*
             *
             * int max_session_table_array_index = phwnagListMgrGetMaxIndex(link->sessionListMgrObject(), "DFabricClass::processGetLinkDataRequest()");
             * SessionClass** session_table_array = (SessionClass**)phwangListMgrGetEntryTableArray(link->sessionListMgrObject());
             * for (int i = 0; i <= max_session_table_array_index; i++)
             * {
             *  SessionClass* session = session_table_array[i];
             *  if (session)
             *  {
             *      char* pending_downlink_data = session->getPendingDownLinkData();
             *      if (pending_downlink_data)
             *      {
             * data_ptr++ = WEB_FABRIC_PROTOCOL_RESPOND_IS_GET_LINK_DATA_PENDING_DATA;
             *          session->enqueuePendingDownLinkData(pending_downlink_data);
             *          strcpy(data_ptr, link->linkIdIndex());
             *          data_ptr += LINK_MGR_PROTOCOL_LINK_ID_INDEX_SIZE;
             *          strcpy(data_ptr, session->sessionIdIndex());
             *          data_ptr += LINK_MGR_PROTOCOL_SESSION_ID_INDEX_SIZE;
             *          this->debug(true, "==================processGetLinkData getPendingDownLinkData", downlink_data);
             *      }
             *  }
             * }
             */



            string pending_session_setup = "";
            string pending_session_str   = link.getPendingSessionSetup();

            if (pending_session_str != null)
            {
                pending_session_setup = pending_session_setup + Protocols.FabricFrontEndProtocolClass.WEB_FABRIC_PROTOCOL_RESPOND_IS_GET_LINK_DATA_PENDING_SESSION;
                pending_session_setup = pending_session_setup + pending_session_str;
            }

            string pending_session_str3 = link.getPendingSessionSetup3();

            if (pending_session_str3 != null)
            {
                pending_session_setup = pending_session_setup + Protocols.FabricFrontEndProtocolClass.WEB_FABRIC_PROTOCOL_RESPOND_IS_GET_LINK_DATA_PENDING_SESSION3;
                pending_session_setup = pending_session_setup + pending_session_str3;
            }

            downlink_data = downlink_data + pending_session_setup;

            string response_data = this.dFabricResponseObject.GenerateGetLinkDataResponse(link.LinkIdStr(), downlink_data, pending_session_setup);

            return(response_data);
        }
Exemple #15
0
 public void BindListEntry(PhwangUtils.ListEntryClass list_entry_objectg_val)
 {
     this.listEntryObject = list_entry_objectg_val;
     this.baseId          = this.listEntryObject.Id();
     this.baseIdStr       = PhwangUtils.EncodeNumberClass.EncodeNumber(this.baseId, Protocols.ThemeEngineProtocolClass.ENGINE_BASE_ID_SIZE);
 }