[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
Fri Sep 30 12:44:38 CDT 2011


branch "master" has been updated
       via  11fde89592c2d13346d7322b8d3591f2f104c5b0 (commit)
      from  28ab66a1d742596f1b35030bf48e8b4a85a64b4a (commit)

Summary of changes:
 .../SessionCommunicationsExtensionPointsIf.ice     |   60 ++++++++++++++++++++
 .../SessionCommunicationsIf.ice                    |    6 +-
 2 files changed, 63 insertions(+), 3 deletions(-)
 mode change 100644 => 100755 slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice


- Log -----------------------------------------------------------------
commit 11fde89592c2d13346d7322b8d3591f2f104c5b0
Author: Brent Eagles <beagles at digium.com>
Date:   Fri Sep 30 15:12:53 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 0ddc97b..107d129
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
@@ -80,6 +80,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 d30ea24..c83931d 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -925,8 +925,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
@@ -937,7 +935,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;
 
@@ -1130,6 +1128,8 @@ module V1
        void stopping(Bridge* sessionBridge, BridgeCookies cookies);
     };
 
+    sequence<BridgeListener*> BridgeListenerSeq;
+
     /**
      * Forward declaration of the BridgeManagerListener interface.
      */

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


-- 
asterisk-scf/release/slice.git



More information about the asterisk-scf-commits mailing list