[Cppunit-cvs] cppunit2/include/opentest remoteinterfaces.h,1.1,1.2
Brought to you by:
blep
From: Baptiste L. <bl...@us...> - 2005-06-25 11:08:14
|
Update of /cvsroot/cppunit/cppunit2/include/opentest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15239/include/opentest Modified Files: remoteinterfaces.h Log Message: Separated serialization process from call dispatching. This allows the serialization to be done by the transport layer (in a single thread). RemoteMessage can be exchanged between thread safely. Index: remoteinterfaces.h =================================================================== RCS file: /cvsroot/cppunit/cppunit2/include/opentest/remoteinterfaces.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** remoteinterfaces.h 24 Jun 2005 20:12:02 -0000 1.1 --- remoteinterfaces.h 25 Jun 2005 11:08:05 -0000 1.2 *************** *** 3,6 **** --- 3,7 ---- # include <opentest/interfaces.h> + # include <cpptl/sharedptr.h> *************** *** 27,66 **** ! Stream & OPENTEST_API operator <<( Stream &stream, MessageId id ); ! Stream & OPENTEST_API operator >>( Stream &stream, MessageId &id ); - class MessageSender - { - public: - virtual ~MessageSender() - { - } ! Stream &stream() ! { ! CPPTL_ASSERT_MESSAGE( stream_ != 0, "No stream attached to remote proxy." ); ! return *stream_; ! } ! void beginMessage( MessageId message ); ! void sendMessage() { - // @todo } ! private: ! Stream *stream_; }; ! class TestDriverProxy : public TestDriverInterface ! , public MessageSender { public: // overridden from TestDriverInterface ! void setTestDescriptions( TestDescriptions &tests ); void setDefaultTestPlan( const TestPlan &plan ); --- 28,70 ---- ! class OPENTEST_API RemoteMessage ! { ! public: ! RemoteMessage(); ! RemoteMessage( MessageId id ); ! virtual ~RemoteMessage(); ! void serialize( Stream &stream ); + MessageId messageId_; + private: + virtual void doSerialize( Stream &stream ) {} + }; ! typedef CppTL::SharedPtr<RemoteMessage> RemoteMessagePtr; ! Stream & OPENTEST_API operator <<( Stream &stream, const RemoteMessagePtr &message ); ! Stream & OPENTEST_API operator >>( Stream &stream, RemoteMessagePtr &message ); ! ! ! class OPENTEST_API MessageSender ! { ! public: ! virtual ~MessageSender() { } ! void sendMessage( const RemoteMessagePtr &message ); }; ! class OPENTEST_API TestDriverProxy : public TestDriverInterface ! , public MessageSender { public: // overridden from TestDriverInterface ! void setTestDescriptions( const TestDescriptions &tests ); void setDefaultTestPlan( const TestPlan &plan ); *************** *** 75,107 **** void setResultInputActualOutput( TestId testPlan, ! const ResultInputOutput &output ); void setTestResult( TestId testPlan, ! ResultStatus &status ); ! void testPlanDone( TestPlanId id ); }; ! class MessageServer { public: ! virtual ~MessageServer() { } ! Stream &stream() ! { ! CPPTL_ASSERT_MESSAGE( stream_ != 0, "No stream attached to message sender." ); ! return *stream_; ! } private: - virtual void processMessageStream() = 0; - Stream *stream_; }; ! class TestDriverServer : public MessageServer { public: --- 79,105 ---- void setResultInputActualOutput( TestId testPlan, ! const ResultInputOutput &output ); void setTestResult( TestId testPlan, ! const ResultStatus &status ); ! void testPlanDone( TestId id ); }; ! class OPENTEST_API RemoteMessageServer { public: ! virtual ~RemoteMessageServer() { } ! virtual void dispatchMessage( const RemoteMessagePtr &message ) = 0; private: }; ! class OPENTEST_API TestDriverServer : public RemoteMessageServer { public: *************** *** 111,116 **** } ! public: // overridden from MessageServer ! void processMessageStream(); private: --- 109,114 ---- } ! public: // overridden from RemoteMessageServer ! void dispatchMessage( const RemoteMessagePtr &message ); private: *************** *** 119,124 **** ! class TestRunnerProxy : public TestRunnerInterface ! , public MessageSender { public: // overridden from TestRunnerInterface --- 117,122 ---- ! class OPENTEST_API TestRunnerProxy : public TestRunnerInterface ! , public MessageSender { public: // overridden from TestRunnerInterface *************** *** 129,133 **** void runTests( const TestPlan &plan ); ! void stopTest(); }; --- 127,147 ---- void runTests( const TestPlan &plan ); ! void stopTests(); ! }; ! ! ! class OPENTEST_API TestRunnerServer : public RemoteMessageServer ! { ! public: ! TestRunnerServer( TestRunnerInterface &impl ) ! : impl_( &impl ) ! { ! } ! ! public: // overridden from RemoteMessageServer ! void dispatchMessage( const RemoteMessagePtr &message ); ! ! private: ! TestRunnerInterface *impl_; }; |