[asterisk-scf-commits] asterisk-scf/release/slice.git branch "master" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Thu Jul 14 17:32:56 CDT 2011


branch "master" has been updated
       via  d14c43207fc22427d0c882c58c777bddddcae8e8 (commit)
      from  1672cd37f8e1dbb9d2e8627387839939a95d9c43 (commit)

Summary of changes:
 .../SessionCommunicationsIf.ice                    |   80 ++++++++++++++++++-
 1 files changed, 75 insertions(+), 5 deletions(-)


- Log -----------------------------------------------------------------
commit d14c43207fc22427d0c882c58c777bddddcae8e8
Author: Brent Eagles <beagles at digium.com>
Date:   Thu Jul 14 20:02:29 2011 -0230

    Slice changes for bridge cookie support

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 5fdec3e..3ad3bc3 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -122,7 +122,7 @@ module V1
      *
      * @see SessionCookies
      */
-    ["preserved"] class SessionCookie
+    unsliceable class SessionCookie
     {
     };
 
@@ -695,6 +695,32 @@ module V1
     };
 
     /**
+     * Generic base class for bridge 'cookies', opaque data items that can be
+     * stored on a Bridge and retrieved via the BridgeListener
+     * interface when events occur on that Bridge.
+     *
+     * @see BridgeListener
+     *
+     * @see BridgeCookies
+     */
+    unsliceable class BridgeCookie
+    {
+    };
+
+    /**
+     * A sequence of bridge cookies, allowing for a variable number of them
+     * to be passed in a single operation or event.
+     *
+     * @see BridgeListener
+     */
+    sequence <BridgeCookie> BridgeCookies;
+
+    /**
+     * A dictionary of bridge cookies, used for storing them.
+     */
+    dictionary<string, BridgeCookie> BridgeCookieDict;
+
+    /**
      * Forward declaration for the BridgeListener interface.
      */
     interface BridgeListener;
@@ -789,6 +815,42 @@ module V1
        ["amd"]
        void replaceSession(Session* sessionToReplace, SessionSeq newSessions)
            throws InvalidSessions, SessionNotFound, BridgeSessionOperationFailed;
+
+	/**
+	 * Set (or replace) cookies on the Bridge.
+	 *
+	 * @param cookies A sequence of one or more concrete objects,
+         *        each of which are of a type derived from BridgeCookie.  The
+         *        bridge will store these cookies on the bridge, replacing any
+         *        existing cookies with matching types.
+	 *
+	 * @note  There can only be one cookie of a given type associated
+	 *        with a Bridge.
+	 **/
+	void setCookies(BridgeCookies cookies);
+
+	/**
+	 * Remove cookies from the Bridge.
+	 *
+	 * @param cookies A sequence of one or more concrete objects,
+	 *        each of which are of a type derived from BridgeCookie.
+	 *        The bridge will remove any cookies on the bridge
+	 *        with types that match the ones in this sequence; the
+	 *        content of the supplied cookies is not compared.
+	 **/
+	void removeCookies(BridgeCookies cookies);
+
+	/**
+	 * Get cookies stored on the Bridge.
+	 *
+	 * @param cookieTypes A sequence of zero or more concrete objects,
+	 *        each of which are of a type derived from BridgeCookie.
+	 *
+	 * @return A sequence of zero or more cookies from the bridge,
+	 *         with types that match the types of the template cookies
+	 *         provided in the cookieTypes parameter.
+	 **/
+	BridgeCookies getCookies(BridgeCookies cookieTypes);
     };
 
     /**
@@ -806,8 +868,10 @@ module V1
         * @param sessionBridge The bridge object the sessions were added to.
         *
         * @param sessions A sequence of session proxies that were added to the bridge.
+        *
+        * @param cookies A sequence of bridge cookies that are associated with the bridge.
         */
-       void sessionsAdded(Bridge* sessionBridge, SessionSeq sessions);
+       void sessionsAdded(Bridge* sessionBridge, SessionSeq sessions, BridgeCookies cookies);
 
        /**
         * Called when sessions have been removed from a bridge.
@@ -816,22 +880,28 @@ module V1
         *
         * @param sessions A sequence of session proxies that were removed from
         * the bridge.
+        *
+        * @param cookies A sequence of bridge cookies that are associated with the bridge.
         */
-       void sessionsRemoved(Bridge* sessionBridge, SessionSeq sessions);
+       void sessionsRemoved(Bridge* sessionBridge, SessionSeq sessions, BridgeCookies cookies);
 
        /**
         * Called when a bridge has completed shutdown/destruction.
         *
         * @param sessionBridge The bridge that was stopped.
+        *
+        * @param cookies A sequence of bridge cookies that are associated with the bridge.
         */
-       void stopped(Bridge* sessionBridge);
+       void stopped(Bridge* sessionBridge, BridgeCookies cookies);
 
        /**
         * Called when a bridge has started shutdown/destruction operations.
         *
         * @param sessionBrdige The bridge that is stopping.
+        *
+        * @param cookies A sequence of bridge cookies that are associated with the bridge.
         */
-       void stopping(Bridge* sessionBridge);
+       void stopping(Bridge* sessionBridge, BridgeCookies cookies);
     };
 
     /**

-----------------------------------------------------------------------


-- 
asterisk-scf/release/slice.git



More information about the asterisk-scf-commits mailing list