diff -r c1f20ce4abcf -r 3e88ff8f41d5 kerneltest/e32test/iic/iic_psl/iic_slaveclient.cpp --- a/kerneltest/e32test/iic/iic_psl/iic_slaveclient.cpp Tue Aug 31 16:34:26 2010 +0300 +++ b/kerneltest/e32test/iic/iic_psl/iic_slaveclient.cpp Wed Sep 01 12:34:56 2010 +0100 @@ -67,7 +67,7 @@ class DIicSlaveClientChan : public DBase { public: - DIicSlaveClientChan(DIicBusChannel* aChan, TInt8 aChanNum, TInt aChanType):iChanNumber(aChanNum),iChanType(aChanType),iChan(aChan){}; + DIicSlaveClientChan(DIicBusChannel* aChan, TInt8 aChanNum, TInt aChanType):iChan(aChan),iChanNumber(aChanNum),iChanType(aChanType){}; ~DIicSlaveClientChan(); TInt GetChanNum()const {return iChanNumber;}; TInt GetChanType()const {return iChanType;}; @@ -93,11 +93,7 @@ const TInt KMaxNumChannels = 2; // 1 "true" slave, one "dummy" #ifdef STANDALONE_CHANNEL -#ifdef IIC_STUBS -_LIT(KLddRootName,"iic_slaveclient_stubs"); -#else _LIT(KLddRootName,"iic_slaveclient_ctrless"); -#endif/*IIC_STUBS*/ #else _LIT(KLddRootName,"iic_slaveclient"); #endif @@ -168,9 +164,6 @@ TInt RegisterTxBuffer(TInt aChannelId, TPtr8 aTxBuffer, TInt8 aBufGranularity, TInt8 aNumWords, TInt8 aOffset); TInt CaptureChannel(TInt aBusId, TDes8* aConfigHdr, TIicBusSlaveCallback* aCallback, TInt& aChannelId, TBool aAsynch=NULL); TInt ReleaseChannel(TInt aChannelId); -#ifdef STANDALONE_CHANNEL - TInt Spare1(TInt aBusId); -#endif private: TDynamicDfcQue* iDfcQue; TIicBusSlaveCallback* iNotif; @@ -214,7 +207,7 @@ TInt iFullDuplexReq; TInt iBlockedTrigger; - enum TTestOverUnderState + typedef enum TTestOverUnderState { EStartState = 0x1, ERxOverrun_1, @@ -478,13 +471,6 @@ DIicSlaveClientChan* aChanPtr = NULL; if(iCapturedChan.iChannelId == aChannelId) aChanPtr = iCapturedChan.iChannel; -#ifdef IIC_STUBS - //in the code coverage tests, a slave channel will not be captured before other slave - //operations get called, e.g. calling DIicBusChannelSlave::CaptureChannel in MASTER_MODE - //should return a KErrNotSupported. In controller-less mode, the client creates and manages its own channels. - //So in here, we pretend a slave channel has been captured and can be used for the current operation. - aChanPtr=iCapturedChan.iChannel; -#endif/*IIC_STUBS*/ if(!aChanPtr) return KErrArgument; if(aChanPtr->GetChanType() == DIicBusChannel::EMasterSlave) @@ -504,13 +490,6 @@ DIicSlaveClientChan* aChanPtr = NULL; if(iCapturedChan.iChannelId == aChannelId) aChanPtr = iCapturedChan.iChannel; -#ifdef IIC_STUBS - //in the code coverage tests, a slave channel will not be captured before other slave - //operations get called, e.g. calling DIicBusChannelSlave::CaptureChannel in MASTER_MODE - //should return a KErrNotSupported. In controller-less mode, the client creates and manages its own channels. - //So in here, we pretend a slave channel has been captured and can be used for the current operation. - aChanPtr=iCapturedChan.iChannel; -#endif/*IIC_STUBS*/ if(!aChanPtr) return KErrArgument; if(aChanPtr->GetChanType() == DIicBusChannel::EMasterSlave) @@ -550,13 +529,6 @@ DIicSlaveClientChan* aChanPtr = NULL; if(iCapturedChan.iChannelId == aChannelId) aChanPtr = iCapturedChan.iChannel; -#ifdef IIC_STUBS - //in the code coverage tests, a slave channel will not be captured before other slave - //operations get called, e.g. calling DIicBusChannelSlave::CaptureChannel in MASTER_MODE - //should return a KErrNotSupported. In controller-less mode, the client creates and manages its own channels. - //So in here, we pretend a slave channel has been captured and can be used for the current operation. - aChanPtr=iCapturedChan.iChannel; -#endif/*IIC_STUBS*/ if(!aChanPtr) return KErrArgument; if(aChanPtr->GetChanType() == DIicBusChannel::EMasterSlave) @@ -617,13 +589,6 @@ r = KErrArgument; } } -#ifdef IIC_STUBS - //if we try to capture a slave channel in MASTER_MODE, the capture should fail with KErrNotSupported. - //However, we need a slave channel to be captured before running most of slave operation - //tests,e.g. RegisterRxBuf. So in here, we pretend the channel is captured, and save - //the channel pointer in iCapturedChan, so it can be used for other slave operation tests. - iCapturedChan.iChannel = chanPtr; -#endif/*IIC_STUBS*/ // For synchronous capture, if successful then install the channel if(r == KErrNone) { @@ -665,54 +630,6 @@ #endif return r; } - -//this function is added for improving the code coverage of IIC. -//Spare1 is a placeholder for future expansion, so returns KErrNotSupported. -#ifdef STANDALONE_CHANNEL -TInt DChannelIicSlaveClient::Spare1(TInt aBusId) - { - TInt r = KErrNone; - DIicSlaveClientChan* chanPtr = NULL; - if(r == KErrNone) - { - r = GetChanPtr(aBusId, chanPtr); - if(r == KErrNone) - { - if(!chanPtr) - { - r = KErrArgument; - } - else - { - switch(chanPtr->GetChanType()) - { - case DIicBusChannel::EMaster: - { - r = ((DIicBusChannelMaster*)(chanPtr->GetChannelPtr()))->Spare1(0,NULL,NULL); - break; - } - case DIicBusChannel::EMasterSlave: - { - r = KErrNotSupported; - break; - } - case DIicBusChannel::ESlave: - { - r = ((DIicBusChannelSlave*)(chanPtr->GetChannelPtr()))->Spare1(0,NULL,NULL); - break; - } - default: - { - r = KErrArgument; - } - } - } - } - } - return r; - } -#endif - TInt DChannelIicSlaveClient::CbProcessOverUnderRunRxTx() { CLIENT_PRINT(("> DChannelIicSlaveClient::CbProcessOverUnderRunRxTx(), iTestOverUnderState=%d\n",iTestOverUnderState)); @@ -1418,13 +1335,7 @@ iFullDuplexReq |= (ERxAllBytes|ETxAllBytes); r = SetNotificationTrigger(parms[0],parms[1]); if(r == KErrTimedOut) - { - //the TRequestStatus is being completed with the error code to indicate - //that the timeout was detected, but KErrNone is returned because - //the requested notification settings were accepted. - Kern::RequestComplete(iClient, iStatus, r); r=KErrNone; // KErrTimedOut is returned if the Client has not interacted with IIC for a while - } break; } @@ -1505,6 +1416,7 @@ iExpectedTrigger |= tempTrigger; else iBlockedTrigger |= tempTrigger; + // The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf // Since the simulated bus channel is also in the kernel process it shares the same address space // Get the address of the buffer @@ -1556,6 +1468,7 @@ iExpectedTrigger |= tempTrigger; else iBlockedTrigger |= tempTrigger; + // The bytes "transmitted" are stored in the simulated bus' iTxCheckBuf // Since the simulated bus channel is also in the kernel process it shares the same address space // Get the address of the buffer @@ -1621,23 +1534,7 @@ r = StaticExtension((TUint)a1, (TUint)ctrlIoVal, NULL, NULL); break; } -#ifdef STANDALONE_CHANNEL - case(RBusDevIicClient::ETestSpare1): - { - //a1 represents a BusId passed from the user. - //Spare1 is a placeholder for future expansion. - r = Spare1((TInt)a1); - break; - } - case(RBusDevIicClient::ETestStaticEx): - { - //Passing a1, which represents a BusId, and the value of a function to StaticExtension. - //Using ECtlIoNone here, so StaticExtension will be called to execute the default case, - // but since this is only called when using stubs KErrNotSupported will be expected. - r = StaticExtension((TUint32)a1, (TUint)RBusDevIicClient::ECtlIoNone, NULL, NULL); - break; - } -#endif + default: { CLIENT_PRINT(("DChannelIicSlaveClient::DoControl - unrecognised value for aId=0x%x\n",aId));