[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
Sun Sep 11 21:44:16 CDT 2011


branch "master" has been updated
       via  a2b0b33c81ba48bacfe985007af3c18ceca180ef (commit)
      from  12b8d9c16293991aa0ecc59767d011694d19513c (commit)

Summary of changes:
 .../PartyIdentificationIf.ice                      |  145 +++----
 .../SessionCommunicationsIf.ice                    |  468 +++++++++++---------
 .../SessionCommunications/SessionCookieIf.ice      |   56 +++
 3 files changed, 367 insertions(+), 302 deletions(-)
 create mode 100644 slice/AsteriskSCF/SessionCommunications/SessionCookieIf.ice


- Log -----------------------------------------------------------------
commit a2b0b33c81ba48bacfe985007af3c18ceca180ef
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Sun Sep 11 21:39:18 2011 -0500

    Changes to Party Identification support. Removed Identification Manager and distributed its operations to Session and SessionController.

diff --git a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
index 7046ec2..66292b4 100644
--- a/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice
@@ -16,6 +16,8 @@
 
 #pragma once
 
+#include <AsteriskSCF/SessionCommunications/SessionCookieIf.ice>
+
 module AsteriskSCF
 {
 
@@ -38,10 +40,10 @@ module V1
      */
     unsliceable class Name
     {
-	/**
-	 * String representation of the name
-	 */
-	string partyName;
+        /**
+         * String representation of the name
+         */
+        string partyName;
     };
 
     /**
@@ -49,10 +51,10 @@ module V1
      */
     unsliceable class Number
     {
-	/**
-	 * String representation of the number
-	 */
-	string partyNumber;
+        /**
+         * String representation of the number
+         */
+        string partyNumber;
     };
 
     /**
@@ -60,15 +62,15 @@ module V1
      */
     unsliceable class Id
     {
-	/**
-	 * Name of the party
-	 */
-	Name partyName;
-
-	/**
-	 * Number of the party
-	 */
-	Number partyNumber;
+        /**
+         * Name of the party
+         */
+        Name partyName;
+
+        /**
+         * Number of the party
+         */
+        Number partyNumber;
     };
 
     /**
@@ -79,104 +81,61 @@ module V1
     /**
      * Base class for dialed party information
      */
-    unsliceable class Dialed
+    unsliceable class Dialed extends AsteriskSCF::SessionCommunications::V1::SessionCookie
     {
-	/**
-	 * Number that was dialed
-	 */
-	Number partyNumber;
+        /**
+         * Number that was dialed
+         */
+        Number partyNumber;
     };
 
-    /**
-     * Base class for calling party information
+    /** 
+     * Class for identifying a session. 
      */
-    unsliceable class Caller
+    unsliceable class SessionOwnerId extends AsteriskSCF::SessionCommunications::V1::SessionCookie
     {
-	/**
-	 * Identities of the caller
-	 */
-	IdSeq ids;
+        /**
+         * Party identification associated with the session owner.
+         */
+        IdSeq ids;
     };
 
     /**
-     * Derived class for connected line information, currently exactly like Caller
+     * Class for calling party information
      */
-    unsliceable class ConnectedLine extends Caller
+    unsliceable class Caller extends SessionOwnerId
     {
     };
 
     /**
-     * Base class for redirecting information
+     * Derived class for connected line information, currently exactly like Caller
      */
-    unsliceable class Redirecting
+    unsliceable class ConnectedLine extends Caller
     {
-	/**
-	 * Party identification information for who the session is being redirected away from
-	 */
-	Id from;
-
-	/**
-	 * Party identification information for who the session is being redirected to
-	 */
-	Id to;
-
-	/**
-	 * Number of times the session has been redirected
-	 */
-	int count;
     };
 
     /**
-     * Interface for party identification retrieval and setting
+     * Base class for redirecting information
      */
-    interface IdentificationManager
+    unsliceable class Redirecting extends AsteriskSCF::SessionCommunications::V1::SessionCookie
     {
-	/**
-	 * Method which retrieves caller party identification information
-	 *
-	 * @return Concrete class containing caller party information
-	 *
-	 * @see Caller
-	 */
-	idempotent Caller getCaller();
-
-	/**
-	 * Method which retrieves dialed party identification information
-	 *
-	 * @return Concrete class containing dialed party information
-	 *
-	 * @see Dialed
-	 */
-	idempotent Dialed getDialed();
-
-	/**
-	 * Method which retrieves redirecting party identification information
-	 *
-	 * @return Concrete class containing redirecting party information
-	 *
-	 * @see Redirecting
-	 */
-	idempotent Redirecting getRedirecting();
-
-	/**
-	 * Method which updates connected line party information
-	 *
-	 * @param party Connected line party information
-	 *
-	 * @see ConnectedLine
-	 */
-	void updateConnectedLine(ConnectedLine party);
-
-	/**
-	 * Method which updates redirecting party information
-	 *
-	 * @param party Redirecting party information
-	 *
-	 * @see Redirecting
-	 */
-	void updateRedirecting(Redirecting party);
+        /**
+         * Party identification information for who the session is being redirected away from
+         */
+        Id from;
+
+        /**
+         * Party identification information for who the session is being redirected to
+         */
+        Id to;
+
+        /**
+         * Number of times the session has been redirected
+         */
+        int count;
     };
 
+
 }; /* End of module V1 */
 
 }; /* End of module PartyIdentification */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index d370c63..fbf4c7b 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -1,4 +1,4 @@
-/*
+/**
  * Asterisk SCF -- An open-source communications framework.
  *
  * Copyright (C) 2010, Digium, Inc.
@@ -23,6 +23,8 @@
 #include <AsteriskSCF/System/Time/TimeIf.ice>
 #include <AsteriskSCF/Media/MediaIf.ice>
 #include <AsteriskSCF/SessionCommunications/TelephonyEventsIf.ice>
+#include <AsteriskSCF/SessionCommunications/PartyIdentificationIf.ice>
+#include <AsteriskSCF/SessionCommunications/SessionCookieIf.ice>
 
 module AsteriskSCF
 {
@@ -127,19 +129,6 @@ module V1
     };
 
     /**
-     * Generic base class for 'cookies', opaque data items that can be
-     * stored on a Session and retrieved via the SessionListener
-     * interface when events occur on that Session.
-     *
-     * @see SessionListener
-     *
-     * @see SessionCookies
-     */
-    unsliceable class SessionCookie
-    {
-    };
-
-    /**
      * Indication visitor class.
      */
     ["visitor"] local class IndicationVisitor
@@ -208,19 +197,6 @@ module V1
     };
 
     /**
-     * A sequence of cookies, allowing for a variable number of them
-     * to be passed in a single operation or event.
-     *
-     * @see SessionListener
-     */
-    sequence <SessionCookie> SessionCookies;
-
-    /**
-     * A dictionary of cookies, used for storing them.
-     */
-    dictionary<string, SessionCookie> SessionCookieDict;
-
-    /**
      * Indication that a session has completed.
      */
     unsliceable class StoppedIndication extends TelephonyIndication
@@ -311,8 +287,8 @@ module V1
          * @param source The session the event occurred on.
          *
          * @param event The indication event that has occurred.
-	 *
-	 * @param cookies Any cookies present on the session.
+         *
+         * @param cookies Any cookies present on the session.
          *
          * @see Session
          *
@@ -373,6 +349,24 @@ module V1
          * @param streams A dictionary of streams to remove.
          */
         ["amd"] void removeStreams(AsteriskSCF::Media::V1::StreamInformationDict streams);
+
+         /**
+          * Method which updates connected line party identification.
+          *
+          * @param connectedLine Connected line party information.
+          *
+          * @see Asterisk::SessionCommunications::PartyIdentifcation::V1::ConnectedLine
+          */
+         void updateConnectedLine(AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine connectedLine);
+
+         /**
+          * Method which updates redirecting party information.
+          *
+          * @param connectedLine Connected line party information.
+          * 
+          * @see Asterisk::SessionCommunications::PartyIdentifcation::V1::Redirecting
+          */
+         void updateRedirecting(AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting redirecting);
     };
 
     /**
@@ -400,42 +394,42 @@ module V1
          */
         ["amd"] SessionInfo addListener(SessionListener* listener);
 
-	/**
-	 * 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.
-	 *        The session manager will store these cookies on the
-	 *        session, replacing any existing cookies with matching
-	 *        types.
-	 *
-	 * @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.
-	 *        The session manager will remove any cookies on the session
-	 *        with types that match the ones in this sequence; the
-	 *        content of the supplied cookies is not compared.
-	 **/
-	void removeCookies(SessionCookies cookies);
-
-	/**
-	 * Get cookies stored on the session.
-	 *
-	 * @param cookieTypes A sequence of zero or more concrete objects,
-	 *        each of which are of a type 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.
-	 **/
-	SessionCookies getCookies(SessionCookies cookieTypes);
+        /**
+         * 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.
+         *        The session manager will store these cookies on the
+         *        session, replacing any existing cookies with matching
+         *        types.
+         *
+         * @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.
+         *        The session manager will remove any cookies on the session
+         *        with types that match the ones in this sequence; the
+         *        content of the supplied cookies is not compared.
+         */
+        void removeCookies(SessionCookies cookies);
+
+        /**
+         * Get cookies stored on the session.
+         *
+         * @param cookieTypes A sequence of zero or more concrete objects,
+         *        each of which are of a type 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.
+         */
+        SessionCookies getCookies(SessionCookies cookieTypes);
 
         /**
          * Request that an indication be performed on a session.
@@ -570,6 +564,61 @@ module V1
          * @param controller A proxy to the session controller to remove.
          */
         ["amd"] void removeSessionController(SessionController* controller);
+
+        /**
+         * Method which retrieves caller party identification information
+         *
+         * @return Concrete class containing caller party information
+         *
+         * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller
+         */
+        ["amd"] idempotent 
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Caller 
+                getCaller();
+
+        /**
+         * Method which retrieves dialed party identification information
+         *
+         * @return Concrete class containing dialed party information
+         *
+         * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::Dialed
+         */
+        ["amd"] idempotent 
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::Dialed 
+                getDialed();
+
+        /**
+         * Method which retrieves identities associated with the owning Session. 
+         *
+         * @return Concrete class containing SessionOwnerId information
+         *
+         * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::SessionOwnerId
+         */
+        ["amd"] idempotent 
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::SessionOwnerId 
+                getSessionOwnerId();
+
+        /**
+         * Method which retrieves redirecting party identification information
+         *
+         * @return Concrete class containing redirecting party information
+         *
+         * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting
+         */
+        ["amd"] idempotent 
+             AsteriskSCF::SessionCommunications::PartyIdentification::V1::Redirecting 
+              getRedirecting();
+
+        /**
+         * Method which retrieves connected line identification information
+         *
+         * @return Concrete class containing connected line party information
+         *
+         * @see AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine
+         */
+        ["amd"] idempotent 
+            AsteriskSCF::SessionCommunications::PartyIdentification::V1::ConnectedLine 
+               getConnectedLine();
     };
 
     /**
@@ -583,6 +632,7 @@ module V1
          * Get a sequence of the telephony event sources for this session
          */
         ["amd"] TelephonyEventSourceSeq getSources();
+
         /**
          * Get a sequence of the telephony event sinks for this session
          */
@@ -832,7 +882,7 @@ module V1
      * When such an exception occurs, it can be assumed that the operation succeeded for any session proxy that is in
      * the SessionErrorSeq.
      *
-     **/
+     */
     struct SessionError
     {
         Session* failedSession;
@@ -890,126 +940,126 @@ module V1
      */
     interface Bridge
     {
-       /**
-        * Add a sequence of session proxies to the bridge. Sessions are started
-        * if necessary.
-        *
-        * @param session A sequence of session proxies.
-        *
-        * @throws InvalidSessions if any of the provided sessions are invalid.
-        *
-        * @see Session
-        * @see InvalidSessions
-        */
-       ["amd"]
-       void addSessions(SessionSeq session)
-       throws InvalidSessions, BridgeSessionOperationFailed;
+        /**
+         * Add a sequence of session proxies to the bridge. Sessions are started
+         * if necessary.
+         *
+         * @param session A sequence of session proxies.
+         *
+         * @throws InvalidSessions if any of the provided sessions are invalid.
+         *
+         * @see Session
+         * @see InvalidSessions
+         */
+        ["amd"]
+        void addSessions(SessionSeq session)
+        throws InvalidSessions, BridgeSessionOperationFailed;
 
-       /**
-        * Abruptly destroy the bridge. Sessions will not be stopped.
-        */
-       void destroy();
+        /**
+         * Abruptly destroy the bridge. Sessions will not be stopped.
+         */
+        void destroy();
 
-       /**
-        * List the sessions currently on the bridge.
-        *
-        * @return a sequence of session proxies participating in the bridge.
-        */
-       idempotent SessionSeq listSessions();
+        /**
+         * List the sessions currently on the bridge.
+         *
+         * @return a sequence of session proxies participating in the bridge.
+         */
+        idempotent SessionSeq listSessions();
 
-       /**
-        * Removes one or more sessions from the bridge. Sessions are not stopped
-        * as they are removed.
-        *
-        * @param sessions A sequence of session proxies.
-        *
-        * @throws InvalidSessions if any of the provided sessions are invalid.
-        *
-        * @see Session
-        * @see InvalidSessions
-        */
-       ["amd"]
-       void removeSessions(SessionSeq sessions)
-        throws InvalidSessions, BridgeSessionOperationFailed;
+        /**
+         * Removes one or more sessions from the bridge. Sessions are not stopped
+         * as they are removed.
+         *
+         * @param sessions A sequence of session proxies.
+         *
+         * @throws InvalidSessions if any of the provided sessions are invalid.
+         *
+         * @see Session
+         * @see InvalidSessions
+         */
+        ["amd"]
+        void removeSessions(SessionSeq sessions)
+         throws InvalidSessions, BridgeSessionOperationFailed;
 
-       /**
-        * Nicely shutdown the bridge. Participating sessions are disconnected.
-        */
-       void shutdown();
+        /**
+         * Nicely shutdown the bridge. Participating sessions are disconnected.
+         */
+        void shutdown();
 
-       /**
-        * Adds a listener object to the bridge. The listener will receive notification
-        * of future changes to the bridge as they occur.
-        *
-        * @param listener A reference to a BridgeListener object.
-        *
-        * @see BridgeListener
-        */
-       void addListener(BridgeListener* listener);
+        /**
+         * Adds a listener object to the bridge. The listener will receive notification
+         * of future changes to the bridge as they occur.
+         *
+         * @param listener A reference to a BridgeListener object.
+         *
+         * @see BridgeListener
+         */
+        void addListener(BridgeListener* listener);
 
-       /**
-        * Removes a listener object from the bridge. The listen will cease receiving
-        * notifications of changes to the bridge.
-        *
-        * @param listener A reference to the listener object to be removed.
-        *
-        * @see BridgeListener
-        */
-       void removeListener(BridgeListener* listener);
+        /**
+         * Removes a listener object from the bridge. The listen will cease receiving
+         * notifications of changes to the bridge.
+         *
+         * @param listener A reference to the listener object to be removed.
+         *
+         * @see BridgeListener
+         */
+        void removeListener(BridgeListener* listener);
 
-       /**
-        * Replaces a session that is on the bridge with another session. Useful for transfers, etc.
-        * where a participant is replaced as part of the code flow.
-        *
-        * @param sessionToReplace The session being replaced. The bridge associated with this
-        *   session is used for the newSessions.
-        *
-        * @param newSessions The sessions to add to the bridge. The sessions are assumed to not
-        *   be already participating in another bridge.
-        *
-        * @throws InvalidSessions if any of the provided sessions are invalid.
-        *
-        * @throws SessionNotFound if the session to be replaced is not on the bridge.
-        */
-       ["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);
+        /**
+         * Replaces a session that is on the bridge with another session. Useful for transfers, etc.
+         * where a participant is replaced as part of the code flow.
+         *
+         * @param sessionToReplace The session being replaced. The bridge associated with this
+         *   session is used for the newSessions.
+         *
+         * @param newSessions The sessions to add to the bridge. The sessions are assumed to not
+         *   be already participating in another bridge.
+         *
+         * @throws InvalidSessions if any of the provided sessions are invalid.
+         *
+         * @throws SessionNotFound if the session to be replaced is not on the bridge.
+         */
+        ["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);
     };
 
     /**
@@ -1078,11 +1128,11 @@ module V1
      */
     interface BridgeManager
     {
-       /**
-        * Method called to add a listener to the bridge manager.
-        *
-        * @param listener A proxy to the bridge manager listener to add.
-        */
+        /**
+         * Method called to add a listener to the bridge manager.
+         *
+         * @param listener A proxy to the bridge manager listener to add.
+         */
         void addListener(BridgeManagerListener* listener);
 
         /**
@@ -1104,27 +1154,27 @@ module V1
          */
         void removeListener(BridgeManagerListener* listener);
 
-       /**
-        * Method called to add a listener to the list of bridge listeners that
-        * will automatically be added to every bridge that is created.
-        *
-        * @param listener A proxy to the bridge listener to add.
-        *
-        * @throws NullProxyException if the listener proxy is a null proxy.
-        *
-        */
+        /**
+         * Method called to add a listener to the list of bridge listeners that
+         * will automatically be added to every bridge that is created.
+         *
+         * @param listener A proxy to the bridge listener to add.
+         *
+         * @throws NullProxyException if the listener proxy is a null proxy.
+         *
+         */
         void addDefaultBridgeListener(BridgeListener* listener)
             throws AsteriskSCF::System::V1::NullProxyException;
 
-       /**
-        * Method called to remove a listener to the list of bridge listeners that
-        * will automatically be added to every bridge that is created.
-        *
-        * @param listener A proxy to the bridge listener to remove.
-        *
-        * @throws NullProxyException if the listener proxy is a null proxy.
-        *
-        */
+        /**
+         * Method called to remove a listener to the list of bridge listeners that
+         * will automatically be added to every bridge that is created.
+         *
+         * @param listener A proxy to the bridge listener to remove.
+         *
+         * @throws NullProxyException if the listener proxy is a null proxy.
+         *
+         */
         void removeDefaultBridgeListener(BridgeListener* listener)
             throws AsteriskSCF::System::V1::NullProxyException;
 
@@ -1146,13 +1196,13 @@ module V1
      */
     interface BridgeManagerListener
     {
-       /**
-        * Notice that a bridge was created.
-        *
-        * @param manager A proxy to the bridge manager that created the bridge.
-        *
-        * @param newBridge A proxy to the newly created bridge.
-        */
+        /**
+         * Notice that a bridge was created.
+         *
+         * @param manager A proxy to the bridge manager that created the bridge.
+         *
+         * @param newBridge A proxy to the newly created bridge.
+         */
         void bridgeCreated(BridgeManager* manager, Bridge* newBridge);
 
         /**
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCookieIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCookieIf.ice
new file mode 100644
index 0000000..7812c9d
--- /dev/null
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCookieIf.ice
@@ -0,0 +1,56 @@
+/**
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2011, Digium, Inc.
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk SCF project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE.txt file
+ * at the top of the source tree.
+ */
+
+#pragma once
+
+module AsteriskSCF
+{
+module SessionCommunications
+{
+
+["suppress"]
+module V1
+{
+
+    /**
+     * Generic base class for 'cookies', opaque data items that can be
+     * stored on a Session and retrieved via the SessionListener
+     * interface when events occur on that Session.
+     *
+     * @see SessionListener
+     *
+     * @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.
+     *
+     * @see SessionListener
+     */
+    sequence <SessionCookie> SessionCookies;
+
+    /**
+     * A dictionary of cookies, used for storing them.
+     */
+    dictionary<string, SessionCookie> SessionCookieDict;
+
+}; /* End of module V1 */
+}; /* End of module SessionCommunications */
+}; /* End of module AsteriskSCF */

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


-- 
asterisk-scf/release/slice.git



More information about the asterisk-scf-commits mailing list