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

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Thu Jun 23 09:15:49 CDT 2011


branch "sessioncontroller" has been created
        at  01f50ffc657af8c961be5461b02663d9473c7e66 (commit)

- Log -----------------------------------------------------------------
commit 01f50ffc657af8c961be5461b02663d9473c7e66
Author: Joshua Colp <jcolp at digium.com>
Date:   Thu Jun 23 11:15:21 2011 -0300

    Add SessionController interface, still deciding how to expose it.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 507ce1e..a167354 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -141,47 +141,6 @@ module V1
     };
 
     /**
-     * Stream specific indication class. Useful if a consumer only cares
-     * about stream specific indications.
-     */
-    unsliceable class StreamIndication extends Indication
-    {
-    };
-
-    /**
-     * Indication that a session has had streams added to it.
-     */
-    unsliceable class StreamsAddedIndication extends StreamIndication
-    {
-        /**
-         * Streams that have been added and their information.
-         */
-        AsteriskSCF::Media::V1::StreamInformationDict streams;
-    };
-
-    /**
-     * Indication that a session has had stream information updated on it.
-     */
-    unsliceable class StreamsUpdatedIndication extends StreamIndication
-    {
-        /**
-         * Streams that have been updated and their information.
-         */
-        AsteriskSCF::Media::V1::StreamInformationDict streams;
-    };
-
-    /**
-     * Indication that a session has had streams removed from it.
-     */
-    unsliceable class StreamsRemovedIndication extends StreamIndication
-    {
-        /**
-         * Streams that have been removed and their information.
-         */
-        AsteriskSCF::Media::V1::StreamInformationDict streams;
-    };
-
-    /**
      * Telephony specific indication class. Useful if a consumer only cares
      * about telephony specific indications.
      */
@@ -355,6 +314,38 @@ module V1
     exception NotBridged { };
 
     /**
+     * A SessionController interface which is used to determine if actions should be
+     * permitted to control on a session and what their result is.
+     */
+    interface SessionController
+    {
+        /**
+         * Method called when stream states change.
+         *
+         * @param streams A dictionary of streams and their new state.
+         */
+        void streamStatesChanged(AsteriskSCF::Media::V1::StreamStateDict streams);
+
+        /**
+         * Method called when streams are to be added to a session.
+         *
+         * @param streams A dictionary of streams with state and requested formats.
+         *
+         * @return StreamInformationDict A dictionary of streams actually added with state
+         *       and formats.
+         */
+        AsteriskSCF::Media::V1::StreamInformationDict streamsAdd(AsteriskSCF::Media::V1::StreamInformationDict
+                                                                 streams);
+
+        /**
+         * Method called when streams are to be removed from a session.
+         *
+         * @param streams A dictionary of streams to be removed.
+         */
+        void streamsRemoved(AsteriskSCF::Media::V1::StreamInformationDict streams);
+    };
+
+    /**
      * A Session object encapsulates a session oriented dialogue with a peer
      * agent. Registered SessionListener objects are notified of responses from
      * the peer as the dialogue progresses.
@@ -455,27 +446,6 @@ module V1
         ["amd"] AsteriskSCF::Media::V1::StreamInformationDict getStreams();
 
         /**
-         * Method which changes the state of streams.
-         *
-         * @param streams A dictionary of streams and their new state.
-         */
-        ["amd"] void changeStreamStates(AsteriskSCF::Media::V1::StreamStateDict streams);
-
-        /**
-         * Method which requests that streams be added to the session.
-         *
-         * @param streams A dictionary of streams and the requested formats.
-         */
-        void addStreams(AsteriskSCF::Media::V1::StreamInformationDict streams);
-
-        /**
-         * Method which requests that streams be removed from the session.
-         *
-         * @param streams A dictionary of streams to remove.
-         */
-        void removeStreams(AsteriskSCF::Media::V1::StreamInformationDict streams);
-
-        /**
          * Retrieve a media session instance, if available, for the current session.
          * A media session object may not be available at the time this is called.
          * For example, in SIP before media details are known.

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list