filterStream.cpp
Engine/source/core/filterStream.cpp
Detailed Description
1 2//----------------------------------------------------------------------------- 3// Copyright (c) 2012 GarageGames, LLC 4// 5// Permission is hereby granted, free of charge, to any person obtaining a copy 6// of this software and associated documentation files (the "Software"), to 7// deal in the Software without restriction, including without limitation the 8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9// sell copies of the Software, and to permit persons to whom the Software is 10// furnished to do so, subject to the following conditions: 11// 12// The above copyright notice and this permission notice shall be included in 13// all copies or substantial portions of the Software. 14// 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21// IN THE SOFTWARE. 22//----------------------------------------------------------------------------- 23 24#include "core/filterStream.h" 25 26FilterStream::~FilterStream() 27{ 28 // 29} 30 31bool FilterStream::_read(const U32 in_numBytes, void* out_pBuffer) 32{ 33 AssertFatal(getStream() != NULL, "Error no stream to pass to"); 34 35 bool success = getStream()->read(in_numBytes, out_pBuffer); 36 37 setStatus(getStream()->getStatus()); 38 return success; 39} 40 41 42bool FilterStream::_write(const U32, const void*) 43{ 44 AssertFatal(false, "No writing allowed to filter"); 45 return false; 46} 47 48bool FilterStream::hasCapability(const Capability in_streamCap) const 49{ 50 // Fool the compiler. We know better... 51 FilterStream* ncThis = const_cast<FilterStream*>(this); 52 AssertFatal(ncThis->getStream() != NULL, "Error no stream to pass to"); 53 54 return ncThis->getStream()->hasCapability(in_streamCap); 55} 56 57U32 FilterStream::getPosition() const 58{ 59 // Fool the compiler. We know better... 60 FilterStream* ncThis = const_cast<FilterStream*>(this); 61 AssertFatal(ncThis->getStream() != NULL, "Error no stream to pass to"); 62 63 return ncThis->getStream()->getPosition(); 64} 65 66bool FilterStream::setPosition(const U32 in_newPosition) 67{ 68 AssertFatal(getStream() != NULL, "Error no stream to pass to"); 69 70 return getStream()->setPosition(in_newPosition); 71} 72 73U32 FilterStream::getStreamSize() 74{ 75 AssertFatal(getStream() != NULL, "Error no stream to pass to"); 76 77 return getStream()->getStreamSize(); 78} 79 80