javauis/mmapi_qt/baseline/src/cmmasourcestream.cpp
changeset 26 dc7c549001d5
parent 23 98ccebc37403
child 67 63b81d807542
equal deleted inserted replaced
23:98ccebc37403 26:dc7c549001d5
    56 }
    56 }
    57 
    57 
    58 
    58 
    59 CMMASourceStream::~CMMASourceStream()
    59 CMMASourceStream::~CMMASourceStream()
    60 {
    60 {
    61     LOG( EJavaMMAPI, EInfo, "MMA::CMMASourceStream::~");
    61     LOG(EJavaMMAPI, EInfo, "MMA::CMMASourceStream::~");
    62     delete iData;
    62     delete iData;
    63     delete iReadEvent;
    63     delete iReadEvent;
    64 }
    64 }
    65 
    65 
    66 
    66 
    84                              "(II)V");
    84                              "(II)V");
    85     if (!classMethodID)
    85     if (!classMethodID)
    86     {
    86     {
    87         User::Leave(KErrNoMemory);
    87         User::Leave(KErrNoMemory);
    88     }
    88     }
    89 	LOG( EJavaMMAPI, EInfo, "CMMASourceStream::ConstructL , jmethodId found");  
    89     LOG(EJavaMMAPI, EInfo, "CMMASourceStream::ConstructL , jmethodId found");
    90 	jobject apeer =  aJNIEnv->NewGlobalRef(aJavaSourceStream);  
    90     jobject apeer =  aJNIEnv->NewGlobalRef(aJavaSourceStream);
    91     iReadEvent = new(ELeave) CMMASourceStreamEvent(classMethodID,
    91     iReadEvent = new(ELeave) CMMASourceStreamEvent(classMethodID,
    92             apeer);
    92             apeer);
    93 }
    93 }
    94 
    94 
    95 
    95 
    96 void CMMASourceStream::WriteL(const TUint8* aData,
    96 void CMMASourceStream::WriteL(const TUint8* aData,
    97                               TInt aLength,
    97                               TInt aLength,
    98                               TInt aState)
    98                               TInt aState)
    99 {
    99 {
   100 	  LOG1( EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL() %d",aState);
   100     LOG1(EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL() %d",aState);
   101     if (aState < KErrNone)
   101     if (aState < KErrNone)
   102     {
   102     {
   103     	LOG( EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL  : 1");
   103         LOG(EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL  : 1");
   104         // Inform listener on error case
   104         // Inform listener on error case
   105         iListener->ReadCompletedL(aState, KNullDesC8());
   105         iListener->ReadCompletedL(aState, KNullDesC8());
   106         return;
   106         return;
   107     }
   107     }
   108 
   108 
   155             iReadEvent->SetLength(iReadLength - currentRead);
   155             iReadEvent->SetLength(iReadLength - currentRead);
   156         }
   156         }
   157 
   157 
   158     }
   158     }
   159 
   159 
   160     LOG( EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL completed");
   160     LOG(EJavaMMAPI, EInfo, "MMA::CMMASourceStream::WriteL completed");
   161 }
   161 }
   162 
   162 
   163 void CMMASourceStream::ReadL(TInt aLength)
   163 void CMMASourceStream::ReadL(TInt aLength)
   164 {
   164 {
   165     LOG1( EJavaMMAPI, EInfo, "MMA::CMMASourceStream::ReadL(%d)", aLength);
   165     LOG1(EJavaMMAPI, EInfo, "MMA::CMMASourceStream::ReadL(%d)", aLength);
   166 
   166 
   167     __ASSERT_DEBUG(iData != NULL, User::Invariant());
   167     __ASSERT_DEBUG(iData != NULL, User::Invariant());
   168 
   168 
   169     PrepareReadL();
   169     PrepareReadL();
   170 
   170 
   181 void CMMASourceStream::ReadAllL()
   181 void CMMASourceStream::ReadAllL()
   182 {
   182 {
   183     // not reading again if iData already has data
   183     // not reading again if iData already has data
   184     if (iData == NULL)
   184     if (iData == NULL)
   185     {
   185     {
   186         LOG( EJavaMMAPI, EInfo, "CMMASourceStream::ReadAllL: Buffer empty, reading from java");
   186         LOG(EJavaMMAPI, EInfo, "CMMASourceStream::ReadAllL: Buffer empty, reading from java");
   187         CreateDataBufferL(KBufferSize);
   187         CreateDataBufferL(KBufferSize);
   188         ReadL(KMMAReadAllData);
   188         ReadL(KMMAReadAllData);
   189     }
   189     }
   190     else
   190     else
   191     {
   191     {
   192         LOG( EJavaMMAPI, EInfo, "CMMASourceStream::ReadAllL: Buffer not empty, ->ReadCompleteL");
   192         LOG(EJavaMMAPI, EInfo, "CMMASourceStream::ReadAllL: Buffer not empty, ->ReadCompleteL");
   193         iListener->ReadCompletedL(ECompleted, *iData);
   193         iListener->ReadCompletedL(ECompleted, *iData);
   194     }
   194     }
   195 }
   195 }
   196 
   196 
   197 void CMMASourceStream::PrepareReadL()
   197 void CMMASourceStream::PrepareReadL()
   204     iData = NULL;
   204     iData = NULL;
   205 }
   205 }
   206 
   206 
   207 void CMMASourceStream::CreateDataBufferL(TInt aBufferSize)
   207 void CMMASourceStream::CreateDataBufferL(TInt aBufferSize)
   208 {
   208 {
   209     LOG( EJavaMMAPI, EInfo, "CMMASourceStream::CreateDataBufferL +");
   209     LOG(EJavaMMAPI, EInfo, "CMMASourceStream::CreateDataBufferL +");
   210     __ASSERT_DEBUG(iData == NULL, User::Invariant());
   210     __ASSERT_DEBUG(iData == NULL, User::Invariant());
   211 
   211 
   212     iData = HBufC8::NewL(aBufferSize);
   212     iData = HBufC8::NewL(aBufferSize);
   213 }
   213 }
   214 
   214