[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "bridge_creation_extension_points" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Fri Aug 12 09:56:25 CDT 2011
branch "bridge_creation_extension_points" has been created
at 5ab275edf7390af192fabc810bb5269beccdc414 (commit)
- Log -----------------------------------------------------------------
commit 5ab275edf7390af192fabc810bb5269beccdc414
Author: Brent Eagles <beagles at digium.com>
Date: Fri Aug 12 12:25:58 2011 -0230
Bridge creation extension point support.
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
old mode 100644
new mode 100755
index cad714b..e1a273d
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
@@ -79,6 +79,66 @@ module V1
void clearSessionCreationHooks();
};
+ const string BridgeCreationExtensionPointCategory = "BridgeCreationHook";
+ const string BridgeCreationExtensionPointFacet = "BridgeCreationHook";
+
+ /**
+ * Data provided to bridge creation hooks.
+ */
+ class BridgeCreationHookData
+ {
+ /**
+ * The proxy for the bridge being created. This can be overridden by a hook to set up an
+ * interposed bridge proxy.
+ */
+ AsteriskSCF::SessionCommunications::V1::Bridge* bridge;
+
+ /**
+ * The established listeners for a bridge. This can be used to modify the default listeners
+ * added to a bridge when it is created.
+ */
+ AsteriskSCF::SessionCommunications::V1::BridgeListenerSeq listeners;
+
+ /**
+ * Modify the cookies set on the bridge when it is created.
+ **/
+ AsteriskSCF::SessionCommunications::V1::BridgeCookies cookies;
+
+ /**
+ * Modify the sessions initially added to a bridge.
+ */
+ AsteriskSCF::SessionCommunications::V1::SessionSeq initialSessions;
+ };
+
+ interface BridgeCreationHook
+ {
+ /**
+ * Interpose some operations when creating bridge objects.
+ */
+ AsteriskSCF::System::Hook::V1::HookResult execute(BridgeCreationHookData originalData,
+ out BridgeCreationHookData alteredData);
+ };
+
+ sequence<BridgeCreationHook*> BridgeCreationHookSeq;
+
+ interface BridgeCreationExtensionPoint
+ {
+ /**
+ * Add a new bridge creation hook. Matches on ID and refreshes the proxy if an object with
+ * that ID has already been added.
+ */
+ void addHook(BridgeCreationHook* hook);
+
+ /**
+ * Remove the bridge creation hook that matches the proxy provided.
+ */
+ void removeHook(BridgeCreationHook* hook);
+
+ /**
+ * Clear all registered hooks.
+ */
+ void clearHooks();
+ };
}; /* End of module V1 */
}; /* End of module ExtensionPoints */
}; /* End of module SessionCommunications */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 8426ace..19e776b 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -843,8 +843,6 @@ module V1
* stored on a Bridge and retrieved via the BridgeListener
* interface when events occur on that Bridge.
*
- * @see BridgeListener
- *
* @see BridgeCookies
*/
unsliceable class BridgeCookie
@@ -855,7 +853,7 @@ module V1
* A sequence of bridge cookies, allowing for a variable number of them
* to be passed in a single operation or event.
*
- * @see BridgeListener
+ * @see BridgeCookie
*/
sequence <BridgeCookie> BridgeCookies;
@@ -1048,6 +1046,8 @@ module V1
void stopping(Bridge* sessionBridge, BridgeCookies cookies);
};
+ sequence<BridgeListener*> BridgeListenerSeq;
+
/**
* Forward declaration of the BridgeManagerListener interface.
*/
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list