diff -r 000000000000 -r 71ca22bcf22a mmserv/tms/inc/tmsmembuffer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmserv/tms/inc/tmsmembuffer.h Tue Feb 02 01:08:46 2010 +0200 @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: Telephony Multimedia Service + * + */ + +#ifndef TMS_MEM_BUFFER_H +#define TMS_MEM_BUFFER_H + +#include + +namespace TMS { + +// TMSMemBuffer class +class TMSMemBuffer : public TMSBuffer + { +public: + ~TMSMemBuffer(); + + static gint Create(guint size, TMSBuffer*& tmsbuffer); + static gint Create(guint size, guint8* dataptr, TMSBuffer*& tmsbuffer); + + // Implementation of TMSBuffer interface begins + virtual gint GetType(TMSBufferType& buftype); + /** + Gets the timestamp on the Buffer so that the framework can + determine the time at which this buffer has to be rendered + by the output device sink. + + @param ts + timestamp in microseconds + + */ + virtual gint GetTimeStamp(guint64& ts); + + /** + Sets the timestamp on the Buffer so that the framework can + determine the time at which this buffer has to be rendered + by the output device sink. + + @param ts + timestamp in milliseconds + + */ + virtual gint SetTimeStamp(const guint64 ts); + + /** + Gets the size of data in the buffer specified by the client. + + @param size + size of data in bytes + + */ + virtual gint GetDataSize(guint& size); + + /** + Sets the size of data in the buffer after the client + fill it. + + @param size + size of data in bytes + + */ + virtual gint SetDataSize(const guint size); + + /** + Gets the pointer to the memory location associated with this + buffer where the data is stored. + + @param bufptr + ptr to the data stored in the buffer. + + */ + virtual gint GetDataPtr(guint8*& bufptr); + +private: + TMSMemBuffer(); + gint PostConstruct(guint size); + +private: + guint iBufferSize; + guint iTimeStamp; + guint8* iDataPtr; + gboolean iOwnsBuffer; + }; + +} //namespace TMS + +#endif //TMS_MEM_BUFFER_H