Merge pull request #10222 from Icinga/Registry-cleanup

Clean up Registry class
This commit is contained in:
Alexander Aleksandrovič Klimov 2025-03-21 11:00:49 +01:00 committed by GitHub
commit adde9cc53b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 0 additions and 69 deletions

View File

@ -23,16 +23,6 @@ class Registry
public:
typedef std::map<String, T> ItemMap;
void RegisterIfNew(const String& name, const T& item)
{
std::unique_lock<std::mutex> lock(m_Mutex);
if (m_Items.find(name) != m_Items.end())
return;
RegisterInternal(name, item, lock);
}
void Register(const String& name, const T& item)
{
std::unique_lock<std::mutex> lock(m_Mutex);
@ -40,38 +30,6 @@ public:
RegisterInternal(name, item, lock);
}
void Unregister(const String& name)
{
size_t erased;
{
std::unique_lock<std::mutex> lock(m_Mutex);
erased = m_Items.erase(name);
}
if (erased > 0)
OnUnregistered(name);
}
void Clear()
{
typename Registry<U, T>::ItemMap items;
{
std::unique_lock<std::mutex> lock(m_Mutex);
items = m_Items;
}
for (const auto& kv : items) {
OnUnregistered(kv.first);
}
{
std::unique_lock<std::mutex> lock(m_Mutex);
m_Items.clear();
}
}
T GetItem(const String& name) const
{
std::unique_lock<std::mutex> lock(m_Mutex);

View File

@ -29,11 +29,6 @@ void ApiAction::Register(const String& name, const ApiAction::Ptr& action)
ApiActionRegistry::GetInstance()->Register(name, action);
}
void ApiAction::Unregister(const String& name)
{
ApiActionRegistry::GetInstance()->Unregister(name);
}
ApiActionRegistry *ApiActionRegistry::GetInstance()
{
return Singleton<ApiActionRegistry>::GetInstance();

View File

@ -34,7 +34,6 @@ public:
static ApiAction::Ptr GetByName(const String& name);
static void Register(const String& name, const ApiAction::Ptr& action);
static void Unregister(const String& name);
private:
std::vector<String> m_Types;

View File

@ -24,11 +24,6 @@ void ApiFunction::Register(const String& name, const ApiFunction::Ptr& function)
ApiFunctionRegistry::GetInstance()->Register(name, function);
}
void ApiFunction::Unregister(const String& name)
{
ApiFunctionRegistry::GetInstance()->Unregister(name);
}
ApiFunctionRegistry *ApiFunctionRegistry::GetInstance()
{
return Singleton<ApiFunctionRegistry>::GetInstance();

View File

@ -31,7 +31,6 @@ public:
static ApiFunction::Ptr GetByName(const String& name);
static void Register(const String& name, const ApiFunction::Ptr& function);
static void Unregister(const String& name);
private:
Callback m_Callback;

View File

@ -71,14 +71,6 @@ void EventQueue::RemoveClient(void *client)
m_Events.erase(client);
}
void EventQueue::UnregisterIfUnused(const String& name, const EventQueue::Ptr& queue)
{
std::unique_lock<std::mutex> lock(queue->m_Mutex);
if (queue->m_Events.empty())
Unregister(name);
}
void EventQueue::SetTypes(const std::set<String>& types)
{
std::unique_lock<std::mutex> lock(m_Mutex);
@ -135,11 +127,6 @@ void EventQueue::Register(const String& name, const EventQueue::Ptr& function)
EventQueueRegistry::GetInstance()->Register(name, function);
}
void EventQueue::Unregister(const String& name)
{
EventQueueRegistry::GetInstance()->Unregister(name);
}
EventQueueRegistry *EventQueueRegistry::GetInstance()
{
return Singleton<EventQueueRegistry>::GetInstance();

View File

@ -38,11 +38,9 @@ public:
Dictionary::Ptr WaitForEvent(void *client, double timeout = 5);
static std::vector<EventQueue::Ptr> GetQueuesForType(const String& type);
static void UnregisterIfUnused(const String& name, const EventQueue::Ptr& queue);
static EventQueue::Ptr GetByName(const String& name);
static void Register(const String& name, const EventQueue::Ptr& function);
static void Unregister(const String& name);
private:
String m_Name;