[Cppunit-cvs] cppunit2/src/opentest remoteinterfaces.cpp,1.4,1.5
Brought to you by:
blep
From: Baptiste L. <bl...@us...> - 2006-03-06 22:36:25
|
Update of /cvsroot/cppunit/cppunit2/src/opentest In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26194/src/opentest Modified Files: remoteinterfaces.cpp Log Message: * worked-around msvc6 compiler bug. Index: remoteinterfaces.cpp =================================================================== RCS file: /cvsroot/cppunit/cppunit2/src/opentest/remoteinterfaces.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** remoteinterfaces.cpp 11 Dec 2005 17:16:09 -0000 1.4 --- remoteinterfaces.cpp 6 Mar 2006 22:36:18 -0000 1.5 *************** *** 114,141 **** ! template<class TargetType ! ,class DataType ! > ! void dispatchSimpleRemoteCall( const RemoteMessagePtr &inMessage, ! TargetType *target, ! void (TargetType::*method)( const DataType & ) ) { ! typedef SimpleRemoteMessage<DataType> MessageType; ! const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); ! (target->*method)( message->data_ ); ! } - template<class TargetType - ,class DataType - > - void dispatchSimpleRemoteCallNoRef( const RemoteMessagePtr &inMessage, - TargetType *target, - void (TargetType::*method)( DataType ) ) - { - typedef SimpleRemoteMessage<DataType> MessageType; - const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); - (target->*method)( message->data_ ); - } --- 114,149 ---- ! template<class TargetType, class DataType> ! class DispatchHelper { ! public: ! static void simpleRemoteCall( const RemoteMessagePtr &inMessage, ! TargetType *target, ! void (TargetType::*method)( const DataType &) ) ! { ! typedef SimpleRemoteMessage<DataType> MessageType; ! const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); ! (target->*method)( message->data_ ); ! } + static void simpleRemoteCallNoRef( const RemoteMessagePtr &inMessage, + TargetType *target, + void (TargetType::*method)( DataType ) ) + { + typedef SimpleRemoteMessage<DataType> MessageType; + const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); + (target->*method)( message->data_ ); + } + + static void testIdRemoteCall( const RemoteMessagePtr &inMessage, + TargetType *target, + void (TargetType::*method)( TestId, const DataType & ) ) + { + typedef TestIdRemoteMessage<DataType> MessageType; + const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); + (target->*method)( message->testId_, message->data_ ); + } + }; *************** *** 191,206 **** } - template<class TargetType - ,class DataType - > - void dispatchTestIdRemoteCall( const RemoteMessagePtr &inMessage, - TargetType *target, - void (TargetType::*method)( TestId, const DataType & ) ) - { - typedef TestIdRemoteMessage<DataType> MessageType; - const MessageType *message = static_cast<const MessageType *>( inMessage.get() ); - (target->*method)( message->testId_, message->data_ ); - } - // ////////////////////////////////////////////////////////////////// --- 199,202 ---- *************** *** 377,402 **** { case driverMessageSetTestDescriptions: ! dispatchSimpleRemoteCall( message, impl_, &TestDriverInterface::setTestDescriptions ); break; case driverMessageSetDefaultTestPlan: ! dispatchSimpleRemoteCall( message, impl_, &TestDriverInterface::setDefaultTestPlans ); break; case driverMessageStartTesting: ! dispatchSimpleRemoteCallNoRef( message, impl_, &TestDriverInterface::startTesting ); break; case driverMessageAddResultLog: ! dispatchTestIdRemoteCall( message, impl_, &TestDriverInterface::addResultLog ); break; case driverMessageAddResultAssertion: ! dispatchTestIdRemoteCall( message, impl_, &TestDriverInterface::addResultAssertion ); break; case driverMessageSetResultInputActualOutput: ! dispatchTestIdRemoteCall( message, impl_, &TestDriverInterface::setResultInputActualOutput ); break; case driverMessageSetTestResult: ! dispatchTestIdRemoteCall( message, impl_, &TestDriverInterface::setTestResult ); break; case driverMessageTestPlanDone: ! dispatchSimpleRemoteCallNoRef( message, impl_, &TestDriverInterface::testPlanDone ); break; default: --- 373,414 ---- { case driverMessageSetTestDescriptions: ! DispatchHelper<TestDriverInterface, TestDescriptions>::simpleRemoteCall( message, ! impl_, ! &TestDriverInterface::setTestDescriptions ); break; case driverMessageSetDefaultTestPlan: ! DispatchHelper<TestDriverInterface, TestPlans>::simpleRemoteCall( message, ! impl_, ! &TestDriverInterface::setDefaultTestPlans ); break; case driverMessageStartTesting: ! DispatchHelper<TestDriverInterface, TestPlanId>::simpleRemoteCallNoRef( message, ! impl_, ! &TestDriverInterface::startTesting ); break; case driverMessageAddResultLog: ! DispatchHelper<TestDriverInterface, ResultLog>::testIdRemoteCall( message, ! impl_, ! &TestDriverInterface::addResultLog ); break; case driverMessageAddResultAssertion: ! DispatchHelper<TestDriverInterface, ResultAssertion>::testIdRemoteCall( message, ! impl_, ! &TestDriverInterface::addResultAssertion ); break; case driverMessageSetResultInputActualOutput: ! DispatchHelper<TestDriverInterface, ResultInputOutput>::testIdRemoteCall( message, ! impl_, ! &TestDriverInterface::setResultInputActualOutput ); break; case driverMessageSetTestResult: ! DispatchHelper<TestDriverInterface, ResultStatus>::testIdRemoteCall( message, ! impl_, ! &TestDriverInterface::setTestResult ); break; case driverMessageTestPlanDone: ! DispatchHelper<TestDriverInterface, TestPlanId>::simpleRemoteCallNoRef( message, ! impl_, ! &TestDriverInterface::testPlanDone ); break; default: *************** *** 454,458 **** break; case runnerMessageRunTests: ! dispatchSimpleRemoteCall( message, impl_, &TestRunnerInterface::runTests ); break; case runnerMessageStopTest: --- 466,472 ---- break; case runnerMessageRunTests: ! DispatchHelper<TestRunnerInterface, TestPlans>::simpleRemoteCall( message, ! impl_, ! &TestRunnerInterface::runTests ); break; case runnerMessageStopTest: |