[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "mediasessioncookies" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Sun Aug 28 20:19:29 CDT 2011


branch "mediasessioncookies" has been created
        at  abf2a1d2d175f6f7ca483fa838caf4fd27ea42e8 (commit)

- Log -----------------------------------------------------------------
commit abf2a1d2d175f6f7ca483fa838caf4fd27ea42e8
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Sun Aug 28 20:11:50 2011 -0500

    Added cookie support for media sessions.

diff --git a/slice/AsteriskSCF/Media/MediaIf.ice b/slice/AsteriskSCF/Media/MediaIf.ice
index f9bb522..d13b005 100644
--- a/slice/AsteriskSCF/Media/MediaIf.ice
+++ b/slice/AsteriskSCF/Media/MediaIf.ice
@@ -34,6 +34,27 @@ module V1
     const string Version = "V1";
 
     /**
+     * Generic base class for 'cookies', opaque data items that can be
+     * stored on a Session.
+     *
+     * @see SessionCookies
+     */
+    unsliceable class SessionCookie
+    {
+    };
+
+    /**
+     * A sequence of cookies, allowing for a variable number of them
+     * to be passed in a single operation or event.
+     */
+    sequence <SessionCookie> SessionCookies;
+
+    /**
+     * A dictionary of cookies, used for storing them.
+     */
+    dictionary<string, SessionCookie> SessionCookieDict;
+
+    /**
      * Forward declaration of the Frame class so we can define a sequence of them.
      */
     class Frame;
@@ -223,6 +244,39 @@ module V1
          * @return string A string identifier for the session.
          */
         idempotent string getId();
+
+        /**
+         * Set (or replace) cookies on the session.
+         *
+         * @param cookies A sequence of one or more concrete objects,
+         *        each of which are of a type derived from SessionCookie.
+         *
+         * @note  There can only be one cookie of a given type associated
+         *        with a session.
+         */
+        void setCookies(SessionCookies cookies);
+
+        /**
+         * Remove cookies from the session.
+         *
+         * @param cookies A sequence of one or more concrete objects,
+         *        each of which are of a type derived from SessionCookie.
+         *        Only the concrete type of each cookie passed in is used to 
+         *        determine which cookies to remove.
+         */
+        void removeCookies(SessionCookies cookies);
+
+        /**
+         * Get cookies stored on the session.
+         *
+         * @param cookieTypes A sequence of zero or more cookie objects,
+         *        each of which is derived from SessionCookie.
+         *
+         * @return A sequence of zero or more cookies from the session,
+         *         with types that match the types of the template cookies
+         *         provided in the cookieTypes parameter.
+         */
+        ["amd"] SessionCookies getCookies(SessionCookies cookieTypes);
     };
 
     /**
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index f3e92d8..b37c2b5 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -435,7 +435,7 @@ module V1
 	 *         with types that match the types of the template cookies
 	 *         provided in the cookieTypes parameter.
 	 **/
-	SessionCookies getCookies(SessionCookies cookieTypes);
+	["amd"] SessionCookies getCookies(SessionCookies cookieTypes);
 
         /**
          * Request that an indication be performed on a session.

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list