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); }
internal XenClientGuestHostService() { xgsc = new XenGuestAgentLib.XenGuestServicesClass(); EndpointBuilder = new DbusEndpointAbsoluteUriBuilder(); ProxyBuilder = new ProxyBuilder(EndpointBuilder); CreateSignalProxies(); SignalRegister(); }
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(); }
public XenGuestAgent() { xgsc = new XenGuestAgentLib.XenGuestServicesClass(); }