[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "session-decorator" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Wed Jul 6 14:15:07 CDT 2011


branch "session-decorator" has been updated
       via  3e3468a598e3dae4fd3047bc95b83d411432e6ca (commit)
      from  f1a8af8d8e9ffc51c67e011440147fe7e56f9c10 (commit)

Summary of changes:
 .../SessionCommunicationsExtensionPointsIf.ice     |   28 +++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)


- Log -----------------------------------------------------------------
commit 3e3468a598e3dae4fd3047bc95b83d411432e6ca
Author: Mark Michelson <mmichelson at digium.com>
Date:   Wed Jul 6 14:04:14 2011 -0500

    Add documentation for session decorator as suggested in CR-ASTSCF-115.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
index 6fccbde..2b88216 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsExtensionPointsIf.ice
@@ -1,7 +1,7 @@
 /*
  * Asterisk SCF -- An open-source communications framework.
  *
- * Copyright (C) 2010, Digium, Inc.
+ * Copyright (C) 2011, Digium, Inc.
  *
  * See http://www.asterisk.org for more information about
  * the Asterisk SCF project. Please do not directly contact
@@ -36,6 +36,23 @@ module V1
 
     interface SessionDecoratorHook
     {
+        /**
+         * Decorate a Session.
+         * 
+         * This method is called by a session gateway at the time a new
+         * session is created. The session gateway provides a proxy to the
+         * session it just created. In return, this method provides a proxy
+         * (presumably) to a decorator.
+         *
+         * The session gateway will store this proxy to the decorator and provide
+         * it to all external entities that request a proxy to the session. This way,
+         * the decorator can intercept all commands to the session, thereby allowing
+         * for customization beyond what the session gateway would do on its own.
+         *
+         * @param realSession A proxy to the session created by the session gateway
+         * @param[out] decorator The proxy to the decorator created by the hook
+         * @return A HookResult indicating whether the hook was successful
+         */
         AsteriskSCF::System::Hook::V1::HookResult decorateSession(AsteriskSCF::SessionCommunications::V1::Session* realSession, out AsteriskSCF::SessionCommunications::V1::Session* decorator);
     };
 
@@ -43,8 +60,17 @@ module V1
 
     interface SessionDecoratorExtensionPoint
     {
+        /**
+         * Add a new session decorator hook
+         */
         void addDecorator(SessionDecoratorHook* hook);
+        /**
+         * Remove a session decorator hook
+         */
         void removeDecorator(SessionDecoratorHook* hook);
+        /**
+         * Remove all session decorator hooks
+         */
         void clearDecorators();
     };
 

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list