[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