예제 #1
0
파일: Workspace.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Create an EAnp event having the parameters specified.
 /// </summary>
 private AnpMsg MakeEAnpEvent(EAnpEvt type, UInt64 date, UInt32 userID, UInt64 freshness)
 {
     AnpMsg m = new AnpMsg();
     m.Minor = 1;
     m.Type = (UInt32)type;
     m.AddUInt64(InternalID);
     m.AddUInt64(date);
     m.AddUInt32(userID);
     m.AddUInt64(freshness);
     m.AddBin(Wm.MakeUuid());
     return m;
 }
예제 #2
0
파일: WmEAnp.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Create a VNC session.
 /// </summary>
 private void HandleVncCreateSession(AnpMsg cmd, AnpMsg res)
 {
     int i = 0;
     UInt64 kwsID = cmd.Elements[i++].UInt64;
     bool supportFlag = cmd.Elements[i++].UInt32 > 0;
     String subject = cmd.Elements[i++].String;
     Workspace kws = Wm.GetKwsByInternalIDOrThrow(kwsID);
     byte[] sessionUuid = kws.Vnc.StartServerSession(supportFlag, 0, subject);
     res.Type = (uint)EAnpRes.VncSession;
     res.AddBin(sessionUuid);
 }
예제 #3
0
파일: WmEAnp.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Join a VNC session.
 /// </summary>
 private void HandleVncJoinSession(AnpMsg cmd, AnpMsg res)
 {
     int i = 0;
     UInt64 kwsID = cmd.Elements[i++].UInt64;
     UInt64 sessionID = cmd.Elements[i++].UInt64;
     String subject = cmd.Elements[i++].String;
     Workspace kws = Wm.GetKwsByInternalIDOrThrow(kwsID);
     byte[] sessionUuid = kws.Vnc.StartClientSession(sessionID, subject);
     res.Type = (uint)EAnpRes.VncSession;
     res.AddBin(sessionUuid);
 }
예제 #4
0
파일: WmEAnp.cs 프로젝트: tmbx/kwm-ng
 /// <summary>
 /// Fetch EAnp events.
 /// </summary>
 private void HandleFetchEvent(AnpMsg cmd, AnpMsg res)
 {
     int i = 0;
     UInt64 kwsID = cmd.Elements[i++].UInt64;
     UInt32 evtID = cmd.Elements[i++].UInt32;
     UInt32 limit = cmd.Elements[i++].UInt32;
     List<AnpMsg> l = Wm.LocalDbBroker.FetchEAnpEvents(kwsID, evtID, limit);
     res.Type = (uint)EAnpRes.FetchEvent;
     res.AddUInt64(Wm.Cd.UpdateFreshnessTime());
     res.AddUInt32((uint)l.Count);
     foreach (AnpMsg evt in l) res.AddBin(evt.ToByteArray(true));
 }