////////////////////////////////////////////////////////////////////////// internal void UnregisterService(CServiceRegistration service) { m_checker.Check(); m_systemBundle.getServiceRegistery().UnregisterService(service); lock (m_lock) { m_publishedServices.Remove(service); } }
////////////////////////////////////////////////////////////////////////// public IServiceRegistration RegisterService(string[] clazz, object service /*, Dictionary properties*/) { m_checker.Check(); CServiceRegistration reg = m_systemBundle.getServiceRegistery().RegisterService(clazz, service, this); lock (m_lock) { m_publishedServices.Add(reg); } return(reg); }
////////////////////////////////////////////////////////////////////////// public void UnregisterService(CServiceRegistration service) { lock (m_lock) { foreach (string clz in service.getClazz()) { List<CServiceRegistration> sbucket = m_services[clz]; sbucket.Remove(service); if (sbucket.Count == 0) m_services.Remove(clz); } } }
////////////////////////////////////////////////////////////////////////// public void UnregisterService(CServiceRegistration service) { lock (m_lock) { foreach (string clz in service.getClazz()) { List <CServiceRegistration> sbucket = m_services[clz]; sbucket.Remove(service); if (sbucket.Count == 0) { m_services.Remove(clz); } } } }
////////////////////////////////////////////////////////////////////////// public CServiceRegistration RegisterService(string[] clazz, object service/*, Dictionary properties*/, CBundleContext bundleCtx) { CServiceRegistration reg = new CServiceRegistration(clazz, service, bundleCtx); lock (m_lock) { foreach (string clz in clazz) { List<CServiceRegistration> sbucket; if (!m_services.TryGetValue(clz, out sbucket)) { sbucket = new List<CServiceRegistration>(); m_services.Add(clz, sbucket); } sbucket.Add(reg); } } return reg; }
////////////////////////////////////////////////////////////////////////// public CServiceRegistration RegisterService(string[] clazz, object service /*, Dictionary properties*/, CBundleContext bundleCtx) { CServiceRegistration reg = new CServiceRegistration(clazz, service, bundleCtx); lock (m_lock) { foreach (string clz in clazz) { List <CServiceRegistration> sbucket; if (!m_services.TryGetValue(clz, out sbucket)) { sbucket = new List <CServiceRegistration>(); m_services.Add(clz, sbucket); } sbucket.Add(reg); } } return(reg); }
////////////////////////////////////////////////////////////////////////// internal void UnregisterService(CServiceRegistration service) { m_checker.Check(); m_systemBundle.getServiceRegistery().UnregisterService(service); lock (m_lock) { m_publishedServices.Remove(service); } }