Ejemplo n.º 1
0
 public void Init(IGConnectionLocal userConnection)
 {
     IGSMStatusUser userStatus = userConnection.GetUserStatus();
     if (userStatus != null)
     {
         SetParameter(IGSMSTATUS_SESSIONLENGTH, userStatus.m_nSessionLength.ToString());
         SetParameter(IGSMSTATUS_IDLETIME, userStatus.m_nIdleTime.ToString());
         SetParameter(IGSMSTATUS_STATUS, ((int)userStatus.m_eStatus).ToString());
         IGRequestProcessing imProcUser = IGRequestProcessing.GetUserRequest(userStatus.m_sUser);
         SetParameter(IGSMSTATUS_PROGRESS, ((imProcUser == null) || (imProcUser.GetProgress() < 0)) ? "-" : imProcUser.GetProgress().ToString() + "%");
         SetParameter(IGSMSTATUS_LASTREQ, (userStatus.m_nLastReqId > 0) ? userStatus.m_nLastReqId.ToString() : "None");
         List<string> lsImages = new List<string>();
         lock (userStatus.m_lsImages)
         {
             lsImages.AddRange(userStatus.m_lsImages);
         }
         foreach (string sImage in lsImages)
         {
             XmlNode imageNode = m_xmlDoc.CreateNode(XmlNodeType.Element, IGSMSTATUS_IMAGE, null);
             XmlAttribute newAttImageId = m_xmlDoc.CreateAttribute(IGRequest.IGREQUEST_FRAMEID);
             newAttImageId.Value = sImage;
             imageNode.Attributes.Append(newAttImageId);
             IGRequestProcessing imProc = IGRequestProcessing.GetImageRequest(sImage);
             XmlAttribute newAttProgress = m_xmlDoc.CreateAttribute(IGSMSTATUS_PROGRESS);
             newAttProgress.Value = ((imProc == null) || (imProc.GetProgress() < 0)) ? "-" : imProc.GetProgress().ToString() + "%";
             imageNode.Attributes.Append(newAttProgress);
             XmlAttribute newAttStatus = m_xmlDoc.CreateAttribute(IGSMSTATUS_STATUS);
             int nStatus = (imProc == null) ? (int)IGState.IGSMSTATUS_READY : (int)imProc.GetStatus();
             newAttStatus.Value = nStatus.ToString();
             imageNode.Attributes.Append(newAttStatus);/*
             XmlAttribute newAttLastReq = m_xmlDoc.CreateAttribute(IGSMSTATUS_LASTREQ);
             newAttLastReq.Value = (userStatus.m_nLastReqId > 0) ? userStatus.m_nLastReqId.ToString() : "None";
             imageNode.Attributes.Append(newAttLastReq);*/
             m_xmlNodeAnswer.AppendChild(imageNode);
         }
     }
 }
Ejemplo n.º 2
0
 public int DisconnectUser(string sUser, string sGuid, out IGConnectionLocal userConnection)
 {
     userConnection = null;
     IGConnection connection = null;
     int nResult = GetConnection(sUser, out connection);
     if (nResult != IGSMAnswer.IGSMANSWER_ERROR_NONE)
         return nResult;
     userConnection = (IGConnectionLocal)connection;
     IGSMStatusUser statusUser = userConnection.GetUserStatus();
     if (statusUser.m_eStatus != IGSMStatusUser.IGState.IGSMSTATUS_READY)
     {
         nResult = (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_SERVERBUSY;
         userConnection.Reset(sGuid);
     }
     else
         userConnection.DisconnectUser(sGuid);
     return nResult;
 }