summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/AVStreams/Pluggable/server.h')
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable/server.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h
new file mode 100644
index 00000000000..c1c6776efe2
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable/server.h
@@ -0,0 +1,94 @@
+/* -*- C++ -*- */
+// $Id$
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Pluggable
+//
+// = FILENAME
+// ftp.h
+//
+// = DESCRIPTION
+// Ftp server to receive data
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Client.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Policy.h"
+
+
+class FTP_Server_Callback : public TAO_AV_Callback
+{
+ // = TITLE
+ // Defines a class for the server application callback.
+ //
+ // = DESCRIPTION
+ // This class overides the methods of the TAO_AV_Callback so the
+ // AVStreams can make upcalls to the application.
+
+public:
+
+ // Method that is called when there is data to be received from the ftp client.
+ int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info,
+ const ACE_Addr &peer_address);
+
+ // Called when the ftp client has finished reading the file and wants
+ // to close4 down the connection.
+ int handle_destroy (void);
+};
+
+class FTP_Server_StreamEndPoint : public TAO_Server_StreamEndPoint
+{
+ // = TITLE
+ // Defines the aplication stream endpoint
+ //
+ // = DESCRIPTION
+ // This is the class that overrides the tao_server_enpodint to handle
+ // pre and post connect processing.
+public:
+ // Create the server application callback.
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+private:
+ FTP_Server_Callback callback_;
+ // reference to the server application callback.
+};
+
+class Server
+{
+ // = TITLE
+ // Defines the server application class.
+ //
+ // = DESCRIPOTION
+ // The actual server progarm that acts as the ftp server that receives data
+ // sent by the ftp client.
+public:
+ Server (void);
+ // Constructor
+
+ ~Server (void);
+ // Deestructor.
+
+ int init (int argc,
+ char **argv
+ ACE_ENV_ARG_DECL_NOT_USED);
+ // Initialize data components.
+
+protected:
+ TAO_Naming_Client my_naming_client_;
+ // The Naming Service Client.
+
+ TAO_AV_Endpoint_Reactive_Strategy_B
+ <FTP_Server_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_;
+ // The endpoint reacxtive strategy.
+
+ TAO_MMDevice *mmdevice_;
+ // The server MMDevice.
+};