From: Alexey K. <akh...@us...> - 2007-01-17 22:11:04
|
Update of /cvsroot/aaf/AAF/ref-impl/src/impl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv6345 Added Files: ImplAAFTypeDefMXFEssenceStream.cpp ImplAAFTypeDefMXFEssenceStream.h Log Message: Add AAFTypeDefMXFEssenceStream. --- NEW FILE: ImplAAFTypeDefMXFEssenceStream.h --- #ifndef __ImplAAFTypeDefMXFEssenceStream_h__ #define __ImplAAFTypeDefMXFEssenceStream_h__ //=---------------------------------------------------------------------= // // $Id: ImplAAFTypeDefMXFEssenceStream.h,v 1.1 2007/01/17 22:11:01 akharkev Exp $ $Name: $ // // The contents of this file are subject to the AAF SDK Public // Source License Agreement (the "License"); You may not use this file // except in compliance with the License. The License is available in // AAFSDKPSL.TXT, or you may obtain a copy of the License from the AAF // Association or its successor. // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See // the License for the specific language governing rights and limitations // under the License. // // The Original Code of this file is Copyright 1998-2007, Licensor of the // AAF Association. // // The Initial Developer of the Original Code of this file and the // Licensor of the AAF Association is Avid Technology. // All rights reserved. // //=---------------------------------------------------------------------= #include "ImplAAFTypeDefStream.h" class ImplAAFTypeDefMXFEssenceStream : public ImplAAFTypeDefStream { public: // // Constructor/destructor // //******** ImplAAFTypeDefMXFEssenceStream (); public: // Stream size and positioning //**************** // GetSize() // virtual AAFRESULT STDMETHODCALLTYPE GetSize (// @parm [in] stream property value ImplAAFPropertyValue * pStreamPropertyValue, // @parm [out] count of bytes in the specified stream property value aafInt64 * pSize); //**************** // SetSize() // virtual AAFRESULT STDMETHODCALLTYPE SetSize (// @parm [in] stream property value ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] new count of bytes in the specified stream property value aafInt64 newSize); //**************** // GetPosition() // virtual AAFRESULT STDMETHODCALLTYPE GetPosition (// @parm [in] stream property value ImplAAFPropertyValue * pStreamPropertyValue, // @parm [out] current byte position in the specified stream property value aafInt64 * pPosition); //**************** // SetPosition() // virtual AAFRESULT STDMETHODCALLTYPE SetPosition (// @parm [in] stream property value ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] the new position in the specified stream property value aafInt64 newPosition); // Sequential access //**************** // Read() // virtual AAFRESULT STDMETHODCALLTYPE Read (// @parm [in] stream property value to read ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] number of bytes to read aafUInt32 dataSize, // @parm [out, size_is(dataSize), length_is(*bytesRead)] buffer into which one element from the stream should be written aafMemPtr_t pData, // @parm [out,ref] number of bytes actually read (will be either dataSize or 0 if there // is in error) aafUInt32 * bytesRead); //**************** // Write() // virtual AAFRESULT STDMETHODCALLTYPE Write (// @parm [in] stream property value to modify ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] number of bytes to write aafUInt32 dataSize, // @parm [in, ref, size_is(dataSize)] buffer into which should contain one element to be written to the stream aafMemPtr_t pData); // Extending the stream //**************** // Append() // virtual AAFRESULT STDMETHODCALLTYPE Append (// @parm [in] stream property value to modify ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] number of bytes to write (must be equal to the element type length) aafUInt32 dataSize, // @parm [in, ref, size_is(dataSize)] buffer into which should contain one element to be written to the stream aafMemPtr_t pData); // // Access in typed chunks of Elements // //**************** // ReadElements() // virtual AAFRESULT STDMETHODCALLTYPE ReadElements (// @parm [in] stream property value to read ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] the type definition of the elements to read ImplAAFTypeDef * pElementType, // @parm [in] number of bytes to read (must be evenly divisible by the element // type length) aafUInt32 dataSize, // @parm [out, size_is(dataSize), length_is(*pBytesRead)] buffer into which elements from the stream should be written aafMemPtr_t pData, // @parm [out,ref] number of bytes actually read (will be either dataSize or 0 if // there is in error) aafUInt32 * pBytesRead); //**************** // WriteElements() // virtual AAFRESULT STDMETHODCALLTYPE WriteElements (// @parm [in] stream property value to modify ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] the type definition of the elements to read ImplAAFTypeDef * pElementType, // @parm [in] number of bytes to write (must be evenly divisible by the element type // length) aafUInt32 dataSize, // @parm [in, ref, size_is(dataSize)] buffer into which elements from the stream should be written aafMemPtr_t pData); // Extend in chunks of typed Elements //**************** // AppendElements() // virtual AAFRESULT STDMETHODCALLTYPE AppendElements (// @parm [in] stream property value to modify ImplAAFPropertyValue * pStreamPropertyValue, // @parm [in] the type definition of the elements to read ImplAAFTypeDef * pElementType, // @parm [in] number of bytes to write (must be evenly divisible by the element type // length) aafUInt32 dataSize, // @parm [in, ref, size_is(dataSize)] buffer into which elements from the stream should be written aafMemPtr_t pData); // // Methods used internally by the SDK. // //**************** // Allocate and initialize the correct subclass of ImplAAFPropertyValue // for the given OMProperty. /* virtual AAFRESULT STDMETHODCALLTYPE CreatePropertyValue(OMProperty *property, ImplAAFPropertyValue ** pPropertyValue) const; */ protected: virtual ~ImplAAFTypeDefMXFEssenceStream (); }; #endif // ! __ImplAAFTypeDefMXFEssenceStream_h__ --- NEW FILE: ImplAAFTypeDefMXFEssenceStream.cpp --- //=---------------------------------------------------------------------= // // $Id: ImplAAFTypeDefMXFEssenceStream.cpp,v 1.1 2007/01/17 22:11:01 akharkev Exp $ $Name: $ // // The contents of this file are subject to the AAF SDK Public // Source License Agreement (the "License"); You may not use this file // except in compliance with the License. The License is available in // AAFSDKPSL.TXT, or you may obtain a copy of the License from the AAF // Association or its successor. // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See // the License for the specific language governing rights and limitations // under the License. // // The Original Code of this file is Copyright 1998-2007, Licensor of the // AAF Association. // // The Initial Developer of the Original Code of this file and the // Licensor of the AAF Association is Avid Technology. // All rights reserved. // //=---------------------------------------------------------------------= #include "ImplAAFTypeDefMXFEssenceStream.h" #include "ImplAAFStreamPropertyValue.h" // // Macro to encapsulate the convertions and validation of a ImplAAFPropertyValue // into an ImplAAFStreamPropertyValue. // #define PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pv, spv)\ AAFRESULT result = AAFRESULT_SUCCESS;\ ImplAAFStreamPropertyValue * spv = NULL;\ result = GetStreamPropertyValue(pv, spv);\ if (AAFRESULT_FAILED(result))\ return result ImplAAFTypeDefMXFEssenceStream::ImplAAFTypeDefMXFEssenceStream () : ImplAAFTypeDefStream() { } ImplAAFTypeDefMXFEssenceStream::~ImplAAFTypeDefMXFEssenceStream () { } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::GetSize ( ImplAAFPropertyValue * pPropertyValue, aafInt64 * pSize) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->GetSizeFiltered(pSize); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::SetSize ( ImplAAFPropertyValue * pPropertyValue, aafInt64 newSize) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->SetSizeFiltered(newSize); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::GetPosition ( ImplAAFPropertyValue * pPropertyValue, aafInt64 * pPosition) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->GetPositionFiltered(pPosition); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::SetPosition ( ImplAAFPropertyValue * pPropertyValue, aafInt64 newPosition) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->SetPositionFiltered(newPosition); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::Read ( ImplAAFPropertyValue * pPropertyValue, aafUInt32 dataSize, aafMemPtr_t pData, aafUInt32 * bytesRead) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->ReadFiltered(dataSize, pData, bytesRead); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::Write ( ImplAAFPropertyValue * pPropertyValue, aafUInt32 dataSize, aafMemPtr_t pData) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->WriteFiltered(dataSize, pData); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::Append ( ImplAAFPropertyValue * pPropertyValue, aafUInt32 dataSize, aafMemPtr_t pData) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->AppendFiltered(dataSize, pData); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::ReadElements ( ImplAAFPropertyValue * pPropertyValue, ImplAAFTypeDef * pElementType, aafUInt32 dataSize, aafMemPtr_t pData, aafUInt32 * bytesRead) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->ReadElementsFiltered(pElementType, dataSize, pData, bytesRead); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::WriteElements ( ImplAAFPropertyValue * pPropertyValue, ImplAAFTypeDef * pElementType, aafUInt32 dataSize, aafMemPtr_t pData) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->WriteElementsFiltered(pElementType, dataSize, pData); } AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::AppendElements ( ImplAAFPropertyValue * pPropertyValue, ImplAAFTypeDef * pElementType, aafUInt32 dataSize, aafMemPtr_t pData) { PROPERTYVALUE_TO_STREAMPROPERTYVALUE(pPropertyValue, pStreamPropertyValue); return pStreamPropertyValue->AppendElementsFiltered(pElementType, dataSize, pData); } // Allocate and initialize the correct subclass of ImplAAFPropertyValue // for the given OMProperty. /* AAFRESULT STDMETHODCALLTYPE ImplAAFTypeDefMXFEssenceStream::CreatePropertyValue( OMProperty *property, ImplAAFPropertyValue ** ppPropertyValue ) const { AAFRESULT result = AAFRESULT_SUCCESS; result = ImplAAFTypeDefStream::CreatePropertyValue (property, ppPropertyValue); return result; } */ |