[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