[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "media-operation" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Thu Aug 11 17:23:14 CDT 2011


branch "media-operation" has been created
        at  cca38526f2d971f4f0d30b9c58cabebc1e65e01a (commit)

- Log -----------------------------------------------------------------
commit cca38526f2d971f4f0d30b9c58cabebc1e65e01a
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Aug 11 17:24:01 2011 -0500

    Fix a typo.

diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
index 5e42c8c..05eae31 100644
--- a/slice/AsteriskSCF/Media/MediaOperationIf.ice
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -44,7 +44,7 @@ interface MediaOperationFactory
      */
     MediaOperation* createMediaOperation(
             StreamSource* source,
-            StreamSource* sink);
+            StreamSink* sink);
 };
 
 struct MediaOperationAttributes

commit 823768da1bfe16e250faa1b0a43d4d3cef0827a3
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Aug 11 14:48:21 2011 -0500

    Return a proxy to a media operation.

diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
index 3c50a68..5e42c8c 100644
--- a/slice/AsteriskSCF/Media/MediaOperationIf.ice
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -42,7 +42,7 @@ interface MediaOperationFactory
      * @param source optional source of media that will enter the operation
      * @param sink optional source of media that the operation will write to
      */
-    MediaOperation createMediaOperation(
+    MediaOperation* createMediaOperation(
             StreamSource* source,
             StreamSource* sink);
 };

commit 14078a4f6374d19b88b73b55d77eef8f23219b85
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Aug 11 14:05:48 2011 -0500

    Create slice definitions for media operations.

diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
new file mode 100644
index 0000000..3c50a68
--- /dev/null
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -0,0 +1,77 @@
+/*
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2011, Digium, Inc.
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk SCF project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE.txt file
+ * at the top of the source tree.
+ */
+
+#pragma once
+
+#include <AsteriskSCF/Media/MediaIf.ice>
+#include <AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice>
+
+module AsteriskSCF
+{
+
+module Media
+{
+
+module V1
+{
+
+interface MediaOperation
+{
+    StreamSource* getSource();
+    StreamSink* getSink();
+    void destroy();
+};
+
+interface MediaOperationFactory
+{
+    /**
+     * Create a new instance of a media operation.
+     * @param source optional source of media that will enter the operation
+     * @param sink optional source of media that the operation will write to
+     */
+    MediaOperation createMediaOperation(
+            StreamSource* source,
+            StreamSource* sink);
+};
+
+struct MediaOperationAttributes
+{
+    /**
+     * The input format for a specific operation
+     */
+    Format inputFormat;
+    /**
+     * The output format for a specific operation
+     */
+    Format outputFormat;
+    /**
+     * The cost of the operation.
+     * Lower cost indicates an "easier" translation,
+     * either because it is faster or uses fewer resources.
+     */
+    int cost;
+};
+
+sequence<MediaOperationAttributes> MediaOperationAttributesSeq;
+
+unsliceable class MediaOperationServiceLocatorParams extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+{
+    MediaOperationAttributesSeq attributes;
+};
+
+}; /* end module V1 */
+}; /* end module Media */
+}; /* end module AsteriskSCF */

commit 01d21200cca061fed160a07cbfd06e6814cf585b
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Wed Aug 10 19:17:07 2011 -0500

    Support for default session cookies and default session listeners.

diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 615a6ce..8426ace 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -755,6 +755,35 @@ module V1
          * @return a sequence of Session proxies.
          */
         idempotent SessionSeq getSessions();
+
+        /**
+         * Adds a default SessionListener for sessions created for this endpoint.
+         * Does not alter existing sessions, but will add the listener to 
+         * any sessions created henceforth, until the default listener 
+         * is removed. 
+         */
+         void addDefaultSessionListener(SessionListener* listener);
+
+        /**
+         * Removes a default SessionListener. Doesn't remove the 
+         * the listener from any existing sessions, but rather 
+         * stops adding the listener to future sessions.
+         */
+         void removeDefaultSessionListener(SessionListener* listener);
+
+        /**
+         * Adds default SessionCookies for sessions created for this endpoint.
+         * Does not alter any existing sessions, but any sessions created
+         * henceforth will have these cookies set.
+         */
+         void addDefaultSessionCookies(SessionCookies cookies);
+
+        /**
+         * Removes a set of default SessionCookies for sessions created for this endpoint.
+         * Doesn't remove cookies from any existing sessions, but new 
+         * sessions for this endpoint will not have these cookies set. 
+         */
+         void removeDefaultSessionCookies(SessionCookies cookies);
     };
 
     /**
diff --git a/slice/AsteriskSCF/System/ExceptionsIf.ice b/slice/AsteriskSCF/System/ExceptionsIf.ice
index f18a941..7a410ec 100644
--- a/slice/AsteriskSCF/System/ExceptionsIf.ice
+++ b/slice/AsteriskSCF/System/ExceptionsIf.ice
@@ -31,11 +31,26 @@ module V1
     {
     };
 
+    /** 
+     * Exception thrown when a "null" handle is passed in where it is invalid to do so.
+     */
+    exception NullHandleException
+    {
+    };
+
     exception InternalInitializationException
     {
         string message;
     };
 
+    /**
+     * Exception thrown when an unknown object is requested.
+     */
+    exception UnknownObject
+    {
+        string identifier;
+    };
+
 }; /*  End of V1 */
 
 }; /*  End of System */

commit 89d5514fadac44681f7a38a627aa2728c7bb16c1
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Mon Aug 8 03:12:56 2011 -0500

    Changes for base Component class (including expanded ServiceLocatorParams)

diff --git a/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice b/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
index 44fab7f..e8d5f8a 100644
--- a/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
+++ b/slice/AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice
@@ -52,13 +52,53 @@ module V1
 
    /**
     * Generic service locator parameters class that more specific parameter classes can extend.
+    * These parameters are used to register a service with the ServiceLocator, and to 
+    * locate (i.e. query) the service. 
+    * 
+    * Note: The identity of the service is the unique combination of the service field and the
+    * id field, and the id field may be left empty. A service can be part of multiple categories. 
     */
    unsliceable class ServiceLocatorParams
    {
+      /** 
+       * Category for the service.
+       *
+       * When registering a service: 
+       *  - An optional category that the service
+       *    should be considered a member of. The service
+       *    can be added to multiple categories via multiple
+       *    calls to addLocatorParams. 
+       * @see ServiceManagement
+       *
+       * When locating:
+       * - An optional category to filter the results on.
+       */
+      string category; 
+
+      /**
+       * Identifier for the service. 
+       *
+       * When registering a service: 
+       *  - Identifier for the service. Can't be empty. 
+       *
+       * When locating:
+       * - If left empty, locate will return all services within a specified category.
+       * - If category and service are both empty, all services registered with the given
+       *   ServiceLocator are returned. In this case, the id field is ignored. 
+       */
+      string service;
+
       /**
-       * Basic category for the service, such as bridge or channel service.
+       * Instance id within a replica group. 
+       *
+       * When registering a service:
+       *  - Identifier of a specific service instance. 
+       * 
+       * When locating: 
+       *  - Identifier of a specific instance. If left empty the default 
+       *    comparator will match on service (and category, if set) only. 
        */
-      string category;
+       string id;
    };
 
    /**
@@ -67,7 +107,7 @@ module V1
    interface ServiceLocator
    {
       /**
-       * Method which performs a locator request using provided parameters but only returns a single
+       * Method which performs a locator " using provided parameters but only returns a single
        * proxy.
        *
        * @param params A concrete class containing parameters describing the service that is trying to be found.
diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index 535a729..5794b31 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -30,6 +30,11 @@ module RTP
 ["suppress"]
 module V1
 {
+   /**
+    * String name of the service locator category for the RTP component service interface.
+    */
+   const string ComponentServiceDiscoveryCategory = "MediaRTPService";
+
     /**
      * String representation of the version of this interface
      */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 1f16f64..615a6ce 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -758,9 +758,14 @@ module V1
     };
 
     /**
-     * Category used for the bridge service.
+     * Category used to publish the Bridge Service's ComponentService interface.
      */
-    const string BridgeServiceDiscoveryCategory = "BridgeService";
+    const string BridgeComponentServiceCategory = "BridgingComponentService";
+
+    /**
+     * Category used for the bridge manager.
+     */
+    const string BridgeManagerDiscoveryCategory = "BridgeManager";
 
     /**
      * The bridge throws an InvalidSessions exception if any of the sessions
diff --git a/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice b/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
index b6db122..e3fe84f 100644
--- a/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
+++ b/slice/AsteriskSCF/System/Component/ComponentServiceIf.ice
@@ -83,7 +83,7 @@ module V1
     /** 
      * A base class to enable arbitary parameter passing to the ComponentTest inteface.
      */
-    class ComponentTestParam {};
+    unsliceable class ComponentTestParam {};
     sequence<ComponentTestParam> ComponentTestParamSeq;
 
     const string ComponentTestFacet = "TestFacet";

commit 1940c4d44f63e8818702868ba2144c3867ac3e3c
Author: David M. Lee <dlee at digium.com>
Date:   Thu Aug 4 14:57:51 2011 -0500

    Allow install-ice.xml to be run independently

diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 5402602..16568c2 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -13,6 +13,13 @@
              uri="antlib:org.apache.maven.artifact.ant"
              classpathref="maven-ant-tasks.classpath"/>
 
+    <!--
+      ~ This optional file contains the properties:
+      ~ release.repo.url - URL to deploy release artifacts
+      ~ snapshot.repo.url - URL to deploy snapshot artifacts
+      -->
+    <property file="${user.home}/.ant/repositories.properties"/>
+
     <!-- Find ICE_HOME -->
     <condition property="ice.home" value="${env.ICE_HOME}">
         <available file="${env.ICE_HOME}"/>

commit 8ddb3e91e25814480efa90f215cf432c9f7fbb53
Author: David M. Lee <dlee at digium.com>
Date:   Thu Aug 4 12:56:59 2011 -0500

    Fixed comments for slice2java.
    
    slice2java, with an unpatched libmcpp, doesn't properly handle trailing
    C++-style comments.

diff --git a/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice b/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
index 9190677..dde63e9 100644
--- a/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
+++ b/slice/AsteriskSCF/SIP/SIPRegistrarIf.ice
@@ -121,7 +121,7 @@ interface Registrar
      ["amd"] BindingSeq getAORBindings(string aor);
 };
 
-}; // end module V1
-}; // end module Registration
-}; // end module SIP
-}; // end module AsteriskSCF
+}; /* end module V1 */
+}; /* end module Registration */
+}; /* end module SIP */
+}; /* end module AsteriskSCF */

commit 70bab01f216615674306543f39daaf1c0a779365
Author: David M. Lee <dlee at digium.com>
Date:   Thu Aug 4 12:54:06 2011 -0500

    Allow auto-detection of ICE_HOME w/o env variable

diff --git a/build.xml b/build.xml
index 443d790..bac549a 100644
--- a/build.xml
+++ b/build.xml
@@ -27,7 +27,7 @@
              classpathref="maven-ant-tasks.classpath"/>
 
     <target name="init" depends="ice.fail-if-no-ice-home">
-        <taskdef name="slice2java" classpath="${env.ICE_HOME}/lib/ant-ice.jar"
+        <taskdef name="slice2java" classpath="${ice.home}/lib/ant-ice.jar"
                  classname="Slice2JavaTask"/>
     </target>
 
@@ -41,7 +41,7 @@
             </fileset>
             <includepath>
                 <pathelement location="slice"/>
-                <pathelement location="${env.ICE_HOME}/slice"/>
+                <pathelement location="${ice.home}/slice"/>
             </includepath>
         </slice2java>
     </target>
@@ -51,7 +51,7 @@
         <mkdir dir="${classes-dir}"/>
         <javac srcdir="${slice2java-dir}" destdir="${classes-dir}" debug="true">
             <classpath>
-                <pathelement location="${env.ICE_HOME}/lib/Ice.jar"/>
+                <pathelement location="${ice.home}/lib/Ice.jar"/>
             </classpath>
         </javac>
     </target>
@@ -63,7 +63,7 @@
         <javadoc destdir="${javadoc-dir}" use="true"
                  verbose="false">
             <classpath>
-                <pathelement location="${env.ICE_HOME}/lib/Ice.jar"/>
+                <pathelement location="${ice.home}/lib/Ice.jar"/>
             </classpath>
             <fileset dir="${slice2java-dir}">
                 <exclude name="**/*Holder.java"/>
diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 0da1dec..5402602 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -4,7 +4,6 @@
     <property environment="env"/>
     <property name="generated-pom-dir"
               value="java/tmp/pom"/>
-    <property name="ice.jar" location="${env.ICE_HOME}/lib/Ice.jar"/>
 
     <property name="mvn.version" value="2.1.1"/>
 
@@ -14,14 +13,28 @@
              uri="antlib:org.apache.maven.artifact.ant"
              classpathref="maven-ant-tasks.classpath"/>
 
-    <available property="ice-home-set" file="${env.ICE_HOME}"/>
+    <!-- Find ICE_HOME -->
+    <condition property="ice.home" value="${env.ICE_HOME}">
+        <available file="${env.ICE_HOME}"/>
+    </condition>
+    <condition property="ice.home" value="/opt/Ice-3.4">
+        <available file="/opt/Ice-3.4"/>
+    </condition>
+    <condition property="ice.home" value="/opt/Ice-3.4.2">
+        <available file="/opt/Ice-3.4.2"/>
+    </condition>
+    <condition property="ice.home" value="C:\Ice-3.4.2">
+        <available file="C:\Ice-3.4.2"/>
+    </condition>
 
-    <target name="fail-if-no-ice-home" unless="ice-home-set">
+    <property name="ice.jar" location="${ice.home}/lib/Ice.jar"/>
+
+    <target name="fail-if-no-ice-home" unless="ice.home">
         <fail message="ICE_HOME not set correctly (${env.ICE_HOME})"/>
     </target>
 
     <target name="get-ice-version" depends="fail-if-no-ice-home">
-        <exec executable="${env.ICE_HOME}/bin/slice2java"
+        <exec executable="${ice.home}/bin/slice2java"
               outputproperty="ice-version">
             <arg value="--version"/>
         </exec>
@@ -40,7 +53,7 @@
         <copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
               filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
-        <artifact:install file="${env.ICE_HOME}/lib/Ice.jar"
+        <artifact:install file="${ice.home}/lib/Ice.jar"
                           pomrefid="ice-pom">
             <attach file="java/Ice-sources.jar" classifier="sources"/>
         </artifact:install>
@@ -51,7 +64,7 @@
         <copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
               filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
-        <artifact:deploy file="${env.ICE_HOME}/lib/Ice.jar"
+        <artifact:deploy file="${ice.home}/lib/Ice.jar"
                           pomrefid="ice-pom">
             <attach file="java/Ice-sources.jar" classifier="sources"/>
         </artifact:deploy>

commit 00939724984dd002dacc8c165183ef8f582c5a5a
Author: David M. Lee <dlee at digium.com>
Date:   Thu Aug 4 12:49:24 2011 -0500

    Properly copy pom.xml updates

diff --git a/build.xml b/build.xml
index cc2fd0d..443d790 100644
--- a/build.xml
+++ b/build.xml
@@ -91,7 +91,7 @@
     <target name="install" depends="package,ice.get-ice-version"
             description="installs packages into local Maven repo">
         <copy file="pom.xml.in" tofile="${generated-pom-dir}/pom.xml"
-              filtering="true" failonerror="true"/>
+              filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="pom" file="${generated-pom-dir}/pom.xml"/>
         <artifact:install file="java/astscf-api.jar" pomrefid="pom">
             <attach file="java/astscf-api-sources.jar"
@@ -116,7 +116,7 @@ Either configure in ~/.ant/repositories.properties, or configure using -D
     <target name="deploy" depends="package,ice.get-ice-version,fail-if-no-snapshot-repo,fail-if-no-release-repo"
             description="deploys packages into local Maven repo">
         <copy file="pom.xml.in" tofile="${generated-pom-dir}/pom.xml"
-              filtering="true" failonerror="true"/>
+              filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="pom" file="${generated-pom-dir}/pom.xml"/>
         <artifact:deploy file="java/astscf-api.jar" pomrefid="pom">
             <attach file="java/astscf-api-sources.jar"
diff --git a/install-ice-jar.xml b/install-ice-jar.xml
index 902a118..0da1dec 100644
--- a/install-ice-jar.xml
+++ b/install-ice-jar.xml
@@ -38,7 +38,7 @@
     <target name="install-ice" depends="get-ice-version,ice-src"
             description="Installs ice.jar from ICE_HOME into local Maven repo">
         <copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
-              filtering="true" failonerror="true"/>
+              filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
         <artifact:install file="${env.ICE_HOME}/lib/Ice.jar"
                           pomrefid="ice-pom">
@@ -49,7 +49,7 @@
     <target name="deploy-ice" depends="get-ice-version,ice-src"
             description="Deploys ice.jar from ICE_HOME into local Maven repo">
         <copy file="ice-pom.xml.in" tofile="${generated-pom-dir}/ice-pom.xml"
-              filtering="true" failonerror="true"/>
+              filtering="true" failonerror="true" overwrite="true"/>
         <artifact:pom id="ice-pom" file="${generated-pom-dir}/ice-pom.xml"/>
         <artifact:deploy file="${env.ICE_HOME}/lib/Ice.jar"
                           pomrefid="ice-pom">

commit 710ddb716666de4e3a563dbe98c18ba989565d1d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Aug 2 11:35:22 2011 -0500

    Remove RTP items for now since I'm not trying to merge that support at this time.

diff --git a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
index c0aa242..535a729 100644
--- a/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
+++ b/slice/AsteriskSCF/Media/RTP/MediaRTPIf.ice
@@ -274,7 +274,7 @@ module V1
        * @throws SessionAllocationFailure if the media service is unable to allocate a session
        * to match the provided parameters.
        */
-       RTPSession* allocate(RTPServiceLocatorParams params, RTPOptions options, out RTPAllocationOutputs outputs) throws SessionAllocationFailure;
+       RTPSession* allocate(RTPServiceLocatorParams params) throws SessionAllocationFailure;
    };
 
 }; /*  end module V1 */
diff --git a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 07f2ead..1f16f64 100644
--- a/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/slice/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -567,192 +567,6 @@ module V1
      */
     interface TelephonySession extends Session
     {
-        TelephonyEventsSourceSeq getSources();
-        TelephonyEventsSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
-    /**
-     * A source for telephony events
-     */
-    interface TelephonyEventSource
-    {
-        /**
-         * Add a new sink to send telephony events to
-         */
-        idempotent void addSink(TelephonyEventSink* sink);
-        /**
-         * Get a list of the sinks to which this source sends events
-         */
-        idempotent TelephonyEventSinkSeq getSinks();
-    };
-
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
-    /**
-     * A place to send telephony events
-     */
-    interface TelephonyEventSink
-    {
-        /**
-         * Send a telephony event to this sink
-         */
-        void write(TelephonyEvent event);
-        /**
-         * Set the source for this sink
-         */
-        idempotent void setSource(TelephonyEventSource* source);
-        /**
-         * Get the source for this sink
-         */
-        idempotent TelephonyEventSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventsSource
-    {
-        idempotent void addSink(TelephonyEventsSink* sink);
-        idempotent TelephonyEventSink* getSinks();
-    };
-
-    interface TelephonyEventsSink
-    {
-        void write(TelephonyEvent event);
-        idempotent void setSource(TelephonyEventsSource* source);
-        idempotent TelephonyEventsSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        /**
-         * Get a sequence of the telephony event sources for this session
-         */
-        ["amd"] TelephonyEventSourceSeq getSources();
-        /**
-         * Get a sequence of the telephony event sinks for this session
-         */
-        ["amd"] TelephonyEventSinkSeq getSinks();
-    };
-
-    unsliceable class TelephonyEvent
-    {
-    };
-
-    unsliceable class BeginDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-    };
-
-    unsliceable class EndDTMFEvent extends TelephonyEvent
-    {
-        byte digit;
-        int duration;
-    };
-
-    interface TelephonyEventSink;
-    sequence<TelephonyEventSink> TelephonyEventSinkSeq;
-
-    /**
-     * A source for telephony events
-     */
-    interface TelephonyEventSource
-    {
-        /**
-         * Add a new sink to send telephony events to
-         */
-        idempotent void addSink(TelephonyEventSink* sink);
-        /**
-         * Get a list of the sinks to which this source sends events
-         */
-        idempotent TelephonyEventSinkSeq getSinks();
-    };
-
-    sequence<TelephonyEventSource> TelephonyEventSourceSeq;
-
-    /**
-     * A place to send telephony events
-     */
-    interface TelephonyEventSink
-    {
-        /**
-         * Send a telephony event to this sink
-         */
-        void write(TelephonyEvent event);
-        /**
-         * Set the source for this sink
-         */
-        idempotent void setSource(TelephonyEventSource* source);
-        /**
-         * Get the source for this sink
-         */
-        idempotent TelephonyEventSource* getSource();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
-        TelephonyEventSourceSeq getSources();
-        TelephonyEventSinkSeq getSinks();
-    };
-
-    /**
-     * A telephony session is a session that is with a telephone or telephone
-     * network. It has events associated with it that do not occur with other types
-     * of sessions.
-     */
-    interface TelephonySession extends Session
-    {
         /**
          * Get a sequence of the telephony event sources for this session
          */

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


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list