#include <registry_no_lock_imp.h>
◆ my_interface_mapping
◆ acquire()
Finds and acquires a Service by name.
A name of the Service or the Service Implementation can be specified. In case of the Service name, the default Service Implementation for Service specified will be returned.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
| service_name | Name of Service or Service Implementation to acquire. |
[out] | out_service | Pointer to Service handle to set acquired Service. |
- Returns
- Status of performed operation
- Return values
-
◆ acquire_nolock()
bool mysql_registry_no_lock_imp::acquire_nolock |
( |
const char * |
service_name, |
|
|
my_h_service * |
out_service |
|
) |
| |
|
static |
Finds and acquires a Service by name.
A name of the Service or the Service Implementation can be specified. In case of the Service name, the default Service Implementation for Service specified will be returned. Assumes caller has at least a read lock on the Registry.
- Parameters
-
| service_name | Name of Service or Service Implementation to acquire. |
[out] | out_service | Pointer to Service handle to set acquired Service. |
- Returns
- Status of performed operation
- Return values
-
◆ acquire_related()
Finds a Service by name.
If there is a Service Implementation with the same Component part of name as the input Service then the found Service is returned.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
| service_name | Name of Service or Service Implementation to acquire. |
| service | Service handle already acquired Service Implementation. |
[out] | out_service | Pointer to Service Implementation handle to set acquired Service Implementation. |
- Returns
- Status of performed operation
- Return values
-
◆ deinit()
void mysql_registry_no_lock_imp::deinit |
( |
| ) |
|
|
static |
De-initializes registry, other structures.
◆ get_service_implementation_by_interface()
Finds a Service Implementation data structure based on the pointer to interface struct supplied.
Assumes caller has at least a read lock on the Registry.
- Parameters
-
interface | A pointer to the interface structure of the Service Implementation to look for. |
- Returns
- A pointer to respective Service Implementation data structure, or NULL if no such interface pointer is registered within the Registry.
◆ get_service_implementation_reference_count()
uint64_t mysql_registry_no_lock_imp::get_service_implementation_reference_count |
( |
my_h_service |
interface | ) |
|
|
static |
Gets current reference count for a Service Implementation related to the specified pointer to the interface structure.
Assumes caller has at least a read lock on the Registry.
- Parameters
-
interface | A pointer to the interface structure of the Service Implementation to get reference count of. |
- Returns
- A current reference count for specified Service Implementation. Returns 0 in case there is no such interface or it is not referenced.
◆ register_service()
Registers a new Service Implementation.
If it is the first Service Implementation for the specified Service then it is made a default one.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
service_implementation_name | Name of the Service Implementation to register. |
ptr | Pointer to the Service Implementation structure. |
- Returns
- Status of performed operation
- Return values
-
◆ register_service_nolock()
bool mysql_registry_no_lock_imp::register_service_nolock |
( |
const char * |
service_implementation_name, |
|
|
my_h_service |
ptr |
|
) |
| |
|
static |
Registers a new Service Implementation.
If it is the first Service Implementation for the specified Service then it is made a default one. Assumes caller has a write lock on the Registry.
- Parameters
-
service_implementation_name | Name of the Service Implementation to register. |
ptr | Pointer to the Service Implementation structure. |
- Returns
- Status of performed operation
- Return values
-
◆ release()
Releases the Service Implementation previously acquired.
After the call to this method the usage of the Service Implementation handle will lead to unpredicted results.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
service | Service Implementation handle of already acquired Service. |
- Returns
- Status of performed operation
- Return values
-
◆ release_nolock()
bool mysql_registry_no_lock_imp::release_nolock |
( |
my_h_service |
service | ) |
|
|
static |
Releases the Service Implementation previously acquired.
After the call to this method the usage of the Service Implementation handle will lead to unpredicted results. Assumes caller has at least a read lock on the Registry.
- Parameters
-
service | Service Implementation handle of already acquired Service. |
- Returns
- Status of performed operation
- Return values
-
◆ set_default()
Sets new default Service Implementation for corresponding Service name.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
service_implementation_name | Name of the Service Implementation to set as default one. |
- Returns
- Status of performed operation
- Return values
-
◆ unregister()
Removes previously registered Service Implementation from registry.
If it is the default one for specified Service then any one still registered is made default. If there is no other, the default entry is removed from the Registry too.
This does not take any lock on the registry. It must not be used unless absolutely necessary. Use the mysql_registry_imp version instead.
- Parameters
-
service_implementation_name | Name of the Service Implementation to unregister. |
- Returns
- Status of performed operation
- Return values
-
false | success |
true | Failure. May happen when Service is still being referenced. |
◆ unregister_nolock()
bool mysql_registry_no_lock_imp::unregister_nolock |
( |
const char * |
service_implementation_name | ) |
|
|
static |
Removes previously registered Service Implementation from registry.
If it is the default one for specified Service then any one still registered is made default. If there is no other, the default entry is removed from the Registry too. Assumes caller has a write lock on the Registry.
- Parameters
-
service_implementation_name | Name of the Service Implementation to unregister. |
- Returns
- Status of performed operation
- Return values
-
false | success |
true | Failure. May happen when Service is still being referenced. |
◆ interface_mapping
◆ service_registry
The documentation for this class was generated from the following files: