[hydra-commits] hydra/slice.git branch "master" updated.

Commits to the Hydra project code repositories hydra-commits at lists.digium.com
Sun Aug 8 21:31:46 CDT 2010


branch "master" has been updated
       via  9a272ca0b99d106a77522f46562c142be6582f9a (commit)
      from  7a7064e15b100f8339b16a080549fbfec5022f0b (commit)

Summary of changes:
 CMakeLists.txt                    |    3 +
 Core/Bridging/BridgeServiceIf.ice |   35 +++++++++++------
 Core/CMakeLists.txt               |    3 -
 Core/Channel/CMakeLists.txt       |    2 -
 Core/Channel/ChannelServiceIf.ice |   78 -------------------------------------
 Core/Endpoint/EndpointIf.ice      |    7 +++
 Core/Routing/RoutingIf.ice        |    2 +-
 Media/CMakeLists.txt              |    2 +-
 Media/{MediaI.ice => MediaIf.ice} |    0
 Session/CMakeLists.txt            |    2 +
 Session/SessionIf.ice             |   65 ++++++++++++++++++++++++++++++
 System/CMakeLists.txt             |    2 +
 System/Time/CMakeLists.txt        |    2 +
 System/Time/TimeIf.ice            |   19 +++++++++
 14 files changed, 125 insertions(+), 97 deletions(-)
 delete mode 100644 Core/Channel/CMakeLists.txt
 delete mode 100644 Core/Channel/ChannelServiceIf.ice
 rename Media/{MediaI.ice => MediaIf.ice} (100%)
 create mode 100644 Session/CMakeLists.txt
 create mode 100644 Session/SessionIf.ice
 create mode 100644 System/Time/CMakeLists.txt
 create mode 100644 System/Time/TimeIf.ice


- Log -----------------------------------------------------------------
commit 9a272ca0b99d106a77522f46562c142be6582f9a
Author: Brent Eagles <beagles at digium.com>
Date:   Sun Aug 8 23:58:13 2010 -0230

    * Removed session oriented classes and interfaces from Bridging
    * Moved Channel interface to Session/SessionIf.ice a-la UML.
    * Renamed MediaI.ice to MediaIf.ice to matchi naming conventions.
    * Fixed some include and build issues in other files. (The inheritance
      hierarchy for endpoint managers results in a circular dependency,
      so this will need to be revisited).

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 63aa4ba..c8abc9e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,3 +9,6 @@ add_subdirectory(Media)
 
 # Slice definitions for system infrastructure
 add_subdirectory(System)
+
+# Slice definitions for session-oriented communications 
+add_subdirectory(Session)
diff --git a/Core/Bridging/BridgeServiceIf.ice b/Core/Bridging/BridgeServiceIf.ice
index 1ae02d8..7b41770 100644
--- a/Core/Bridging/BridgeServiceIf.ice
+++ b/Core/Bridging/BridgeServiceIf.ice
@@ -1,7 +1,7 @@
 #pragma once 
 
+#include <Core/Endpoint/EndpointIf.ice>
 #include <System/Component/ComponentServiceIf.ice>
-#include <Core/Channel/ChannelServiceIf.ice>
 
 module Hydra
 {
@@ -40,34 +40,45 @@ module V1
     * callback methods. It might be more appropriate in the future to parallel these
     * methods, but allow for additional information to be passed as arguments.
     */
-   interface CallManager extends Channel::V1::SignalCallback
+   interface CallManager 
    {
    };
 
    /**
-    * A Bridge manages the assocation between multiple eps participating in
+    * A Bridge manages the assocation between multiple endpoints participating in
     * a call.
     */
    interface Bridge 
    { 
-      void addEndpoint(Channel::V1::SessionEndpoint ep);
+      /**
+       * Adds an endpoint to the bridge. In addition to simply adding the endpoint to a 
+       * list of endpoints participating in the bridge, the bridge object may
+       * perform additional operations including, but not limited to, setting
+       * up transcoding and resampling adapters.
+       * 
+       * @param ep The new endpoint to be added to the bridge.
+       * @throws EndpointAlreadyRegistered thrown when the endpoint
+       */
+      void addEndpoint(Endpoint::V1::BaseEndpoint ep);
       void removeEndpoint(Endpoint::V1::EndpointId id);
-      Channel::V1::SessionEndpointSeq listEndpoints();
+      Endpoint::V1::EndpointSeq listEndpoints();
+      void shutdown();
+      void destroy();
    };
 
    interface BridgeEvents
    {
-      void epAdded(Channel::V1::SessionEndpoint ep);
-      void epRemoved(Channel::V1::SessionEndpoint ep);
+      void epAdded(Endpoint::V1::BaseEndpoint ep);
+      void epRemoved(Endpoint::V1::BaseEndpoint ep);
       void shuttingDown();
       void stopped();
    };
 
    interface BridgeHook
    {
-      bool onAddEndpoint(Channel::V1::SessionEndpoint ep);
-      bool onRemoveEndpoint(Channel::V1::SessionEndpoint ep);
-      bool onListEndpoints(Channel::V1::SessionEndpointSeq input, out Channel::V1::SessionEndpointSeq output);
+      bool onAddEndpoint(Endpoint::V1::BaseEndpoint ep);
+      bool onRemoveEndpoint(Endpoint::V1::BaseEndpoint ep);
+      bool onListEndpoints(Endpoint::V1::EndpointSeq input, out Endpoint::V1::EndpointSeq output);
       bool onShutdown();
       bool onShutdownComplete();
       bool onDestroy();
@@ -75,14 +86,14 @@ module V1
 
    interface BridgeFactoryHook
    {
-      bool onCreateBridge(Channel::V1::SessionEndpoint adminEndpoint, Channel::V1::SessionEndpointSeq eps);
+      bool onCreateBridge(Endpoint::V1::BaseEndpoint adminEndpoint, Endpoint::V1::EndpointSeq eps);
       bool onShutdown();
       bool onShutdownCompleted();
    };
 
    interface BridgeFactory extends System::Component::V1::ComponentService
    {
-      Bridge* createBridge(Channel::V1::SessionEndpoint adminEndpoint, Channel::V1::SessionEndpointSeq eps, 
+      Bridge* createBridge(Endpoint::V1::BaseEndpoint adminEndpoint, Endpoint::V1::EndpointSeq eps, 
 	CallManager* manager);
    };
 };
diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt
index 80b1a22..0b26c10 100644
--- a/Core/CMakeLists.txt
+++ b/Core/CMakeLists.txt
@@ -7,8 +7,5 @@ add_subdirectory(Endpoint)
 # Slice definitions for Routing functionality
 add_subdirectory(Routing)
 
-# Slice definitions for Channels
-add_subdirectory(Channel)
-
 # Slice definitions for Bridging components
 add_subdirectory(Bridging)
diff --git a/Core/Channel/CMakeLists.txt b/Core/Channel/CMakeLists.txt
deleted file mode 100644
index f45f939..0000000
--- a/Core/Channel/CMakeLists.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Compile Channel API 
-hydra_compile_slice(ChannelServiceIf.ice lib "ChannelService API" Core)
diff --git a/Core/Channel/ChannelServiceIf.ice b/Core/Channel/ChannelServiceIf.ice
deleted file mode 100644
index e4cc572..0000000
--- a/Core/Channel/ChannelServiceIf.ice
+++ /dev/null
@@ -1,78 +0,0 @@
-#pragma once
-
-#include <Core/Endpoint/EndpointIf.ice>
-#include <System/Component/ComponentServiceIf.ice>
-#include <Media/MediaI.ice>
-
-module Hydra
-{
-module Core
-{
-module Channel
-{
-["suppress"]
-module V1
-{
-   const string Version = "V1";
-
-   ["preserve"]
-   class SessionInfo
-   {
-      Endpoint::V1::EndpointId caller;
-      Endpoint::V1::EndpointId destination;
-      string currentState;
-      string role;
-      long startTime;
-      long connectedTime;
-   };
-
-   sequence<SessionInfo> SessionInfoSeq;
-
-   class ResponseCode
-   {
-      int isdnCode;
-   };
-
-   interface SignalCallback
-   {
-      void ring(Endpoint::V1::EndpointId ep);
-      void connected(Endpoint::V1::EndpointId ep);
-      void terminated(Endpoint::V1::EndpointId ep, ResponseCode response);
-      void busy(Endpoint::V1::EndpointId ep);
-      void congestion(Endpoint::V1::EndpointId ep, ResponseCode response);
-      void hold(Endpoint::V1::EndpointId ep);
-      void unhold(Endpoint::V1::EndpointId ep);
-      void flash(Endpoint::V1::EndpointId ep);
-      void progress(Endpoint::V1::EndpointId ep, ResponseCode response);
-   };
-
-   interface SignalCommands
-   {
-      bool call(Endpoint::V1::EndpointId caller, Endpoint::V1::EndpointId destination, SignalCallback callback);
-      void terminate(Endpoint::V1::EndpointId caller);
-   };
-
-   class SessionEndpoint extends Endpoint::V1::BaseEndpoint   
-   {
-      SignalCommands* command;
-      SignalCallback* callback;
-      Media::V1::Session* mediaSession;
-   };
-
-   /**
-    * A ChannelService is a session-oriented ep manager. 
-    *
-    */
-   interface ChannelService extends System::Component::V1::ComponentService
-   {
-      SessionInfoSeq listCurrentSessions();
-      SessionEndpoint getEndpoint(Endpoint::V1::EndpointId id);
-   };
-
-   sequence<SessionEndpoint> SessionEndpointSeq;
-
-}; // End of V1
-}; // End of Channel
-}; // End of Core
-}; // End of Hydra
-
diff --git a/Core/Endpoint/EndpointIf.ice b/Core/Endpoint/EndpointIf.ice
index 3c65f9b..d3edb34 100644
--- a/Core/Endpoint/EndpointIf.ice
+++ b/Core/Endpoint/EndpointIf.ice
@@ -1,5 +1,7 @@
 #pragma once
 
+#include <Ice/BuiltinSequences.ice>
+
 module Hydra
 {
 module Core
@@ -31,6 +33,11 @@ module V1
 
    sequence<BaseEndpoint> EndpointSeq;
 
+   interface EndpointManager 
+   {
+      EndpointSeq getManagedEndpoints();
+      Ice::StringSeq getManagedEndpointSpecification();
+   };
 
    // TBD... only implemented minimum need for Routing Service. 
 
diff --git a/Core/Routing/RoutingIf.ice b/Core/Routing/RoutingIf.ice
index d8334c8..e3e1732 100644
--- a/Core/Routing/RoutingIf.ice
+++ b/Core/Routing/RoutingIf.ice
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "Core/Endpoint/EndpointIf.ice"
+#include <Core/Endpoint/EndpointIf.ice>
 
 module Hydra
 {
diff --git a/Media/CMakeLists.txt b/Media/CMakeLists.txt
index d2091ea..9101e24 100644
--- a/Media/CMakeLists.txt
+++ b/Media/CMakeLists.txt
@@ -1 +1 @@
-hydra_compile_slice(MediaI.ice lib "Slice Defined API" Core)
+hydra_compile_slice(MediaIf.ice lib "Slice Defined API" Core)
diff --git a/Media/MediaI.ice b/Media/MediaIf.ice
similarity index 100%
rename from Media/MediaI.ice
rename to Media/MediaIf.ice
diff --git a/Session/CMakeLists.txt b/Session/CMakeLists.txt
new file mode 100644
index 0000000..946aa22
--- /dev/null
+++ b/Session/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Compile Session Oriented API 
+hydra_compile_slice(SessionIf.ice lib "Sessions API" Session)
diff --git a/Session/SessionIf.ice b/Session/SessionIf.ice
new file mode 100644
index 0000000..ad3e156
--- /dev/null
+++ b/Session/SessionIf.ice
@@ -0,0 +1,65 @@
+#pragma once
+
+#include <Core/Endpoint/EndpointIf.ice>
+#include <System/Time/TimeIf.ice>
+#include <System/Component/ComponentServiceIf.ice>
+#include <Core/Endpoint/EndpointIf.ice>
+#include <Media/MediaIf.ice>
+
+module Hydra
+{
+module Session
+{
+module V1
+{
+   class SessionInfo
+   {
+      Core::Endpoint::V1::EndpointId caller;
+      Core::Endpoint::V1::EndpointId destination;
+      string currentState;
+      string role;
+      System::Time::V1::TimeMarker startTime;
+      long connectedTime;
+   };
+
+   sequence<SessionInfo> SessionInfoSeq;
+
+   class ResponseCode
+   {
+      int isdnCode;
+   };
+
+   interface SignalCallback
+   {
+      void ring(Core::Endpoint::V1::EndpointId ep);
+      void connected(Core::Endpoint::V1::EndpointId ep);
+      void terminated(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
+      void busy(Core::Endpoint::V1::EndpointId ep);
+      void congestion(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
+      void hold(Core::Endpoint::V1::EndpointId ep);
+      void unhold(Core::Endpoint::V1::EndpointId ep);
+      void flash(Core::Endpoint::V1::EndpointId ep);
+      void progress(Core::Endpoint::V1::EndpointId ep, ResponseCode response);
+   };
+
+   interface SignalCommands
+   {
+      bool call(Core::Endpoint::V1::EndpointId caller, Core::Endpoint::V1::EndpointId destination, SignalCallback callback);
+      void terminate(Core::Endpoint::V1::EndpointId caller);
+   };
+
+   class SessionEndpoint extends Core::Endpoint::V1::BaseEndpoint   
+   {
+      SignalCommands* command;
+      SignalCallback* callback;
+      Media::V1::Session* mediaSession;
+   };
+
+   interface SessionManager extends System::Component::V1::ComponentService
+   {
+      SessionInfoSeq listCurrentSessions();
+   };
+
+}; // End of V1
+}; // End of Session
+}; // End of Hydra
diff --git a/System/CMakeLists.txt b/System/CMakeLists.txt
index b688aa9..526c3fe 100644
--- a/System/CMakeLists.txt
+++ b/System/CMakeLists.txt
@@ -1,3 +1,5 @@
 # Slice definitions for Component functionality 
 add_subdirectory(Component)
 
+# Slice definitions for Time services functionality 
+add_subdirectory(Time)
diff --git a/System/Time/CMakeLists.txt b/System/Time/CMakeLists.txt
new file mode 100644
index 0000000..e0f10ae
--- /dev/null
+++ b/System/Time/CMakeLists.txt
@@ -0,0 +1,2 @@
+# Compile Time API 
+hydra_compile_slice(TimeIf.ice lib "Time services API" System)
diff --git a/System/Time/TimeIf.ice b/System/Time/TimeIf.ice
new file mode 100644
index 0000000..c9aa376
--- /dev/null
+++ b/System/Time/TimeIf.ice
@@ -0,0 +1,19 @@
+#pragma once
+
+module Hydra
+{
+module System
+{
+module Time
+{
+module V1
+{
+   class TimeMarker
+   {
+      long markTime;
+      float scale; 
+   };
+}; // End of V1
+}; // End of Time
+}; // End of System
+}; // End of Hydra

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


-- 
hydra/slice.git




More information about the asterisk-scf-commits mailing list