[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "master" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Tue Nov 2 16:14:51 CDT 2010
branch "master" has been updated
via 4e6f751e82570a36d4592cb2acd0f6e31b2bdc43 (commit)
from fec58594e4d1fc7ffd1b6a0ad1a10060d4ae433e (commit)
Summary of changes:
Core/Discovery/ServiceLocatorIf.ice | 45 +++++++++++++++++++++++++++++++++++
1 files changed, 45 insertions(+), 0 deletions(-)
- Log -----------------------------------------------------------------
commit 4e6f751e82570a36d4592cb2acd0f6e31b2bdc43
Author: David M. Lee <dlee at digium.com>
Date: Fri Oct 29 10:26:33 2010 -0500
New operations for getting the status of registered services.
diff --git a/Core/Discovery/ServiceLocatorIf.ice b/Core/Discovery/ServiceLocatorIf.ice
index a8ee189..9f8a24a 100644
--- a/Core/Discovery/ServiceLocatorIf.ice
+++ b/Core/Discovery/ServiceLocatorIf.ice
@@ -92,6 +92,17 @@ module V1
};
/**
+ * Enum representing the current status of a service.
+ */
+ enum ServiceStatus
+ {
+ /** Service is active and available for locating */
+ Active,
+ /** Service is suspended. it will not be located by ServiceLocator */
+ Suspended
+ };
+
+ /**
* Interface to the service locator component which allows manipulation of registered service.
*/
interface ServiceManagement
@@ -108,6 +119,12 @@ module V1
void addLocatorParams(ServiceLocatorParams params, string compareguid);
/**
+ * Gets the status of this registered service.
+ */
+ ["cpp:const"]
+ ServiceStatus getStatus();
+
+ /**
* Method which suspends this service from being considered when a locator request
* is performed.
*/
@@ -126,6 +143,22 @@ module V1
};
/**
+ * Service information.
+ */
+ struct ServiceInfo {
+ /** guid service ws registered with */
+ string guid;
+ /** managmenet interface for the server */
+ ServiceManagement *management;
+ /** current status */
+ ServiceStatus status;
+ /** the service itself */
+ Object *service;
+ };
+
+ sequence<ServiceInfo> ServiceInfoSeq;
+
+ /**
* Interface to an external component which performs a service locator parameters comparison.
*/
interface ServiceLocatorParamsCompare
@@ -159,6 +192,18 @@ module V1
ServiceManagement *addService(Object *service, string guid);
/**
+ * Returns a list of all registered services.
+ */
+ ["cpp:const"]
+ ServiceInfoSeq getServices();
+
+ /**
+ * Returns the registered service with the given guid.
+ */
+ ["cpp:const"]
+ ServiceInfo getService(string guid);
+
+ /**
* Method which adds a comparator to the service locator.
*
* @param compareguid A unique identifier for this comparator.
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list