![]() |
Max OS 0.3
|
A generic wrapper for a registry of resources that exist on a userspace server. More...
#include <resource_bridge.h>
Public Member Functions | |
| BridgeResourceRegistry (const string &shared_memory_name, size_t resource_id) | |
| Resource * | get_resource (const string &name) final |
| Gets a resource from the registry by name. | |
| Resource * | create_resource (const string &name, size_t flags, uintptr_t data) final |
| Create a new resource on the bridge. | |
Public Member Functions inherited from MaxOS::processes::resources::ResourceRegistry< BridgeResource > | |
| ResourceRegistry (resource_type_t type) | |
| Constructor for ResourceRegistry of a specific type. | |
| Resource * | create_resource (const string &name, size_t flags, uintptr_t data) override |
| Create a new resource of the specific type. | |
Public Member Functions inherited from MaxOS::processes::resources::BaseResourceRegistry | |
| BaseResourceRegistry (resource_type_t type) | |
| Constructs a new BaseResourceRegistry object and registers it globally. | |
| ~BaseResourceRegistry () | |
| Destructor for BaseResourceRegistry, removes it from the global list. | |
| resource_type_t | type () |
| Gets the type of resources this registry handles. | |
| bool | register_resource (Resource *resource) |
| Registers a resource in the registry. | |
| void | close_resource (Resource *resource, size_t flags) |
| Close the resource provided, if it exists in this registry. | |
Additional Inherited Members | |
Protected Attributes inherited from MaxOS::processes::resources::BaseResourceRegistry | |
| common::Map< string, Resource * > | m_resources |
| The map of resource names to resource instances. | |
| common::Map< string, uint64_t > | m_resource_uses |
| The map of resource names to how many processes are using them. | |
| common::Spinlock | m_lock |
| The lock to make the registry threadsafe. | |
| resource_type_t | m_type |
| The resource type that this registry manages. | |
A generic wrapper for a registry of resources that exist on a userspace server.
Definition at line 86 of file resource_bridge.h.
| BridgeResourceRegistry::BridgeResourceRegistry | ( | const string & | shared_memory_name, |
| size_t | resource_id | ||
| ) |
Definition at line 270 of file resource_bridge.cpp.
|
finalvirtual |
Create a new resource on the bridge.
| name | The name of the resource |
| flags | The flags to pass |
Reimplemented from MaxOS::processes::resources::BaseResourceRegistry.
Definition at line 308 of file resource_bridge.cpp.
References MaxOS::processes::resources::BaseResourceRegistry::m_type, and MaxOS::processes::resources::BaseResourceRegistry::register_resource().
|
finalvirtual |
Gets a resource from the registry by name.
| name | The name of the resource to find |
Reimplemented from MaxOS::processes::resources::BaseResourceRegistry.
Definition at line 279 of file resource_bridge.cpp.
References MaxOS::processes::resources::BaseResourceRegistry::get_resource(), MaxOS::processes::resources::BaseResourceRegistry::m_type, and MaxOS::processes::resources::BaseResourceRegistry::register_resource().