Пример #1
0
        public static void Initialize(XenGuestAgentLib.XenGuestServices service)
        {
            Program.AssertOffEventThread();
            Thread thread;
            string evname;
            EventWaitHandleSecurity evsec;
            EventWaitHandleAccessRule evrule;
            string user;
            xgsc = service;
            alertList = Program.GetAlertList();

            evname = xgsc.RegisterAlertsEvent();
            user = Environment.UserDomainName + "\\" + Environment.UserName;
            evalerts = EventWaitHandle.OpenExisting(evname,
                EventWaitHandleRights.ReadPermissions | EventWaitHandleRights.ChangePermissions);
            evsec = evalerts.GetAccessControl();
            evrule = new EventWaitHandleAccessRule(user,
                EventWaitHandleRights.Synchronize | EventWaitHandleRights.Modify,
                AccessControlType.Deny);
            evsec.RemoveAccessRule(evrule);

            evrule = new EventWaitHandleAccessRule(user,
                EventWaitHandleRights.Synchronize | EventWaitHandleRights.Modify,
                AccessControlType.Allow);
            evsec.AddAccessRule(evrule);
            evalerts.SetAccessControl(evsec);

            evalerts = EventWaitHandle.OpenExisting(evname);

            thread = new Thread(alertUpdater);
            thread.Name = "XenClient Alert Thread";
            thread.IsBackground = true;

            thread.Start();
        }
 public XenGuestAgentHostService()
 {
     xgsc = new XenGuestAgentLib.XenGuestServicesClass();
     XenVmsCache.BatchEvent += XenVmsCache_BatchEvent;
     XenAlert.Alert += XenAlert_Alert;
     XenVmsCache.Initialize(xgsc);
     XenAlert.Initialize(xgsc);
 }
 public XenGuestAgentHostService()
 {
     xgsc = new XenGuestAgentLib.XenGuestServicesClass();
     XenVmsCache.BatchEvent += XenVmsCache_BatchEvent;
     XenAlert.Alert         += XenAlert_Alert;
     XenVmsCache.Initialize(xgsc);
     XenAlert.Initialize(xgsc);
 }
 internal XenClientGuestHostService()
 {
     xgsc = new XenGuestAgentLib.XenGuestServicesClass();
     EndpointBuilder = new DbusEndpointAbsoluteUriBuilder();
     ProxyBuilder = new ProxyBuilder(EndpointBuilder);
     CreateSignalProxies();
     SignalRegister();
 }
Пример #5
0
 internal XenClientGuestHostService()
 {
     xgsc            = new XenGuestAgentLib.XenGuestServicesClass();
     EndpointBuilder = new DbusEndpointAbsoluteUriBuilder();
     ProxyBuilder    = new ProxyBuilder(EndpointBuilder);
     CreateSignalProxies();
     SignalRegister();
 }
Пример #6
0
        public static void Initialize(XenGuestAgentLib.XenGuestServices service)
        {
            Program.AssertOffEventThread();
            Thread thread;
            string evname;
            EventWaitHandleSecurity   evsec;
            EventWaitHandleAccessRule evrule;
            string user;

            xgsc = service;

            evname = xgsc.RegisterVmsEvent();
            user   = Environment.UserDomainName + "\\" + Environment.UserName;
            evvms  = EventWaitHandle.OpenExisting(evname,
                                                  EventWaitHandleRights.ReadPermissions | EventWaitHandleRights.ChangePermissions);
            evsec  = evvms.GetAccessControl();
            evrule = new EventWaitHandleAccessRule(user,
                                                   EventWaitHandleRights.Synchronize | EventWaitHandleRights.Modify,
                                                   AccessControlType.Deny);
            evsec.RemoveAccessRule(evrule);

            evrule = new EventWaitHandleAccessRule(user,
                                                   EventWaitHandleRights.Synchronize | EventWaitHandleRights.Modify,
                                                   AccessControlType.Allow);
            evsec.AddAccessRule(evrule);
            evvms.SetAccessControl(evsec);

            evvms = EventWaitHandle.OpenExisting(evname);

            // Start the monitor thread
            thread              = new Thread(CacheXgsMonitor);
            thread.Name         = "XenClient Cache Thread";
            thread.IsBackground = true;

            thread.Start();
        }
Пример #7
0
 public XenGuestAgent()
 {
     xgsc = new XenGuestAgentLib.XenGuestServicesClass();
 }