[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