ldas-tools-framecpp  2.5.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
FrameCPP::Common::OFrameStream Class Reference

#include <FrameStream.hh>

Inheritance diagram for FrameCPP::Common::OFrameStream:
FrameCPP::Common::FrameStream FrameCPP::Common::OStream FrameCPP::Common::StreamBase FrameCPP::Common::StreamBase

Public Types

typedef OStream::buffer_type buffer_type
 
typedef INT_4U chkSum_type
 
typedef
FrHeader::frame_library_type 
frame_library_type
 
typedef
FrHeader::library_revision_type 
library_revision_type
 
typedef FrameSpec::version_type version_type
 
typedef const StreamRefInterfacestreamref_interface_type
 
typedef INT_4U fr_event_offset_type
 
typedef INT_4U fr_sim_event_offset_type
 
typedef
LDASTools::AL::SharedPtr
< FrameSpec::Object
object_type
 

Public Member Functions

 OFrameStream (buffer_type *Buffer, INT_2U Version=FRAME_SPEC_CURRENT)
 
 OFrameStream (bool AutoDelete, buffer_type *Buffer, INT_2U Version=FRAME_SPEC_CURRENT)
 
 ~OFrameStream ()
 
void Close ()
 
void DisableTOC ()
 
virtual INT_4U GetNumberOfFrames () const
 
virtual INT_8U GetTOCOffset () const
 
void SetAutoDeleteBuffer (const bool AutoDelete)
 Establish if the buffer is to be released with the Stream. More...
 
void SetMD5Sum (bool Value)
 
void Write (object_type Obj)
 
void WriteFrame (object_type FrameObject, chkSum_type FrameChecksumType=Common::CheckSum::NONE)
 Write Frame data to the stream. More...
 
void WriteFrame (object_type FrameObject, INT_2U CompressionScheme, INT_2U CompressionLevel, chkSum_type FrameChecksumType=CheckSum::NONE)
 Write Frame data to the stream. More...
 
void WriteFrStatData (object_type FrameObject)
 
frame_library_type FrameLibrary () const
 
library_revision_type LibraryRevision () const
 
version_type Version () const
 
const std::string & GetLastError () const
 
const MD5SumGetMD5Sum () const
 

Protected Types

typedef const
Dictionary::streamref_type::element_type * 
const_stream_ref_ptr_type
 
typedef Dictionary::streamref_type streamref_type
 
typedef std::unique_ptr
< CheckSumFilter
checksum_filter_type
 
typedef std::unique_ptr
< MD5SumFilter
md5sum_filter_type
 
typedef
LDASTools::AL::unordered_map
< INT_2U, INT_2U > 
streamid_to_fsiid_type
 
typedef
LDASTools::AL::SharedPtr
< PTR_STRUCT_BASE
ptr_struct_base_type
 
typedef std::ostream ostream_type
 
typedef ostream_type::char_type char_type
 
typedef
FrameSpec::ObjectInterface::unique_object_type 
unique_object_type
 

Protected Member Functions

virtual void frameSpecInfo (const FrameSpec::Info *Spec)
 
const FrameSpec::InfoframeSpecInfo () const
 
void setLastError (const std::string &Message)
 
void setTOC ()
 
const StreamRefInterfacestreamRef () const
 
void version_stream (version_type Version)
 
void frameLibrary (frame_library_type FrameLibrary)
 
void libraryRevision (library_revision_type LibraryRevision)
 
version_type memoryVersion () const
 
version_type streamVersion () const
 
virtual void reset ()
 
virtual void Cleanup ()
 
INT_2U GetClassId (const std::string &ClassName) const
 
INT_2U GetFSIId (INT_2U StreamId) const
 
cmn_streamsize_type PtrStructBytes () const
 
const_stream_ref_ptr_type ReferenceStreamRef () const
 
const DictionaryGetDictionary () const
 
DictionaryGetDictionary ()
 
void Compression (INT_2U &CompressionScheme, INT_2U &CompressionLevel)
 
INT_2U CompressionScheme () const
 
INT_2U CompressionLevel () const
 
template<typename Header >
const Header * GetFrHeader () const
 
void Next (object_type Obj, object_type NextObj)
 
object_type Next (object_type Obj) const
 
const PTR_STRUCT_BASEReference (object_type Obj) const
 
OStreamwrite (const char_type *S, std::streamsize N)
 
object_type Pop ()
 Get an object from the output queue. More...
 
void PushSingle (object_type Obj)
 Append an object to the output queue. More...
 
template<typename Iter >
void PushMulti (Iter Start, Iter End, size_t Size)
 Append multiple objects to the output queue. More...
 
const Common::PTR_STRUCT_BASENextPtrStruct (object_type Cur) const
 Create a PTR_STRUCT for next object. More...
 
const Common::PTR_STRUCT_BASENextPtrStruct (const object_type::element_type *Cur) const
 Create a PTR_STRUCT for next object. More...
 
OStreamoperator<< (object_type Data)
 
OStreamoperator<< (Pointer Data)
 
template<typename T , const std::string &(T::*)() const F>
OStreamoperator<< (const SearchContainer< T, F > &SC)
 
template<typename T >
OStreamoperator<< (const Container< T > &C)
 
template<typename L >
OStreamoperator<< (const STRING< L > &String)
 
template<typename L >
OStreamoperator<< (const STRING_SHADOW< L > &String)
 
template<typename L >
OStreamoperator<< (const std::vector< STRING< L > > &Strings)
 
template<typename DT >
OStreamoperator<< (const std::vector< DT > &N)
 
template<typename DT >
OStreamoperator<< (const DT &N)
 
template<>
OStreamoperator<< (const LDASTools::AL::GPSTime &Data)
 
buffer_typerdbuf () const
 
CheckSumFilterGetCheckSumFile () const
 
void SetCheckSumFile (const CheckSum::kind_type Type)
 
CheckSumFilterGetCheckSumFrame () const
 
void SetCheckSumFrame (const CheckSum::kind_type Type)
 
CheckSumFilterGetCheckSumObject () const
 
void SetCheckSumObject (const CheckSum::kind_type Type)
 
void setFrHeader (unique_object_type &Obj)
 
void setAutoDeleteBuffer (const bool Value)
 Establish if the buffer is to be released with the Stream. More...
 

Protected Attributes

bool m_closed_state
 
std::unique_ptr< MD5SumFilterm_md5sumFilter
 
Dictionary m_dictionary
 
object_type m_null_stream_ref
 
ptr_struct_base_type m_ptr_struct_object
 
streamid_to_fsiid_type m_stream_id_to_fsi_id
 
checksum_filter_type m_file_checksum
 Checksum for file. More...
 
checksum_filter_type m_frame_checksum
 Checksum for frame. More...
 
checksum_filter_type m_obj_checksum
 Checksum for object. More...
 
md5sum_filter_type m_file_md5sum
 MD5Sum value for the files. More...
 

Member Typedef Documentation

typedef std::unique_ptr<CheckSumFilter> FrameCPP::Common::StreamBase::checksum_filter_type
protectedinherited
typedef const Dictionary::streamref_type::element_type* FrameCPP::Common::StreamBase::const_stream_ref_ptr_type
inherited
typedef FrHeader::frame_library_type FrameCPP::Common::FrameStream::frame_library_type
inherited
typedef FrHeader::library_revision_type FrameCPP::Common::FrameStream::library_revision_type
inherited
typedef std::unique_ptr< MD5SumFilter > FrameCPP::Common::StreamBase::md5sum_filter_type
protectedinherited
typedef LDASTools::AL::SharedPtr< FrameSpec::Object > FrameCPP::Common::StreamBase::object_type
inherited
typedef std::ostream FrameCPP::Common::OStream::ostream_type
inherited
typedef LDASTools::AL::SharedPtr< PTR_STRUCT_BASE > FrameCPP::Common::StreamBase::ptr_struct_base_type
protectedinherited
typedef LDASTools::AL::unordered_map< INT_2U, INT_2U > FrameCPP::Common::StreamBase::streamid_to_fsiid_type
protectedinherited

Constructor & Destructor Documentation

FrameCPP::Common::OFrameStream::OFrameStream ( buffer_type Buffer,
INT_2U  Version = FRAME_SPEC_CURRENT 
)
FrameCPP::Common::OFrameStream::OFrameStream ( bool  AutoDelete,
buffer_type Buffer,
INT_2U  Version = FRAME_SPEC_CURRENT 
)
FrameCPP::Common::OFrameStream::~OFrameStream ( )

Member Function Documentation

void FrameCPP::Common::StreamBase::Cleanup ( )
virtualinherited
void FrameCPP::Common::OFrameStream::Close ( )
void FrameCPP::Common::OStream::Compression ( INT_2U &  CompressionScheme,
INT_2U &  CompressionLevel 
)
inlineinherited

param[in,out] CompressionScheme param[in,out] CompressionType

INT_2U FrameCPP::Common::OStream::CompressionLevel ( ) const
inlineinherited
INT_2U FrameCPP::Common::OStream::CompressionScheme ( ) const
inlineinherited
void FrameCPP::Common::OFrameStream::DisableTOC ( )
inline
FrameStream::frame_library_type FrameCPP::Common::FrameStream::FrameLibrary ( ) const
inlineinherited
void FrameCPP::Common::FrameStream::frameLibrary ( frame_library_type  FrameLibrary)
inlineprotectedinherited
void FrameCPP::Common::FrameStream::frameSpecInfo ( const FrameSpec::Info Spec)
protectedvirtualinherited

Reimplemented from FrameCPP::Common::StreamBase.

const FrameSpec::Info & FrameCPP::Common::StreamBase::frameSpecInfo ( ) const
inlineprotectedinherited
CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFile ( ) const
inlineinherited
CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumFrame ( ) const
inlineinherited
CheckSumFilter * FrameCPP::Common::OStream::GetCheckSumObject ( ) const
inlineinherited
INT_2U FrameCPP::Common::StreamBase::GetClassId ( const std::string &  ClassName) const
inherited
const Dictionary & FrameCPP::Common::StreamBase::GetDictionary ( ) const
inlineinherited
Dictionary & FrameCPP::Common::StreamBase::GetDictionary ( )
inlineinherited
template<typename Header >
const Header * FrameCPP::Common::OStream::GetFrHeader ( ) const
inlineinherited
INT_2U FrameCPP::Common::StreamBase::GetFSIId ( INT_2U  StreamId) const
inlineinherited
const std::string & FrameCPP::Common::FrameStream::GetLastError ( ) const
inlineinherited
const MD5Sum & FrameCPP::Common::FrameStream::GetMD5Sum ( ) const
inlineinherited
INT_4U FrameCPP::Common::OFrameStream::GetNumberOfFrames ( ) const
inlinevirtual

Reimplemented from FrameCPP::Common::OStream.

INT_8U FrameCPP::Common::OFrameStream::GetTOCOffset ( ) const
inlinevirtual

Reimplemented from FrameCPP::Common::OStream.

FrameStream::library_revision_type FrameCPP::Common::FrameStream::LibraryRevision ( ) const
inlineinherited
void FrameCPP::Common::FrameStream::libraryRevision ( library_revision_type  LibraryRevision)
inlineprotectedinherited
FrameStream::version_type FrameCPP::Common::FrameStream::memoryVersion ( ) const
inlineprotectedinherited
void FrameCPP::Common::OStream::Next ( object_type  Obj,
object_type  NextObj 
)
inherited
OStream::object_type FrameCPP::Common::OStream::Next ( object_type  Obj) const
inherited
const PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( object_type  Cur) const
inherited

Create a PTR_STRUCT for next object.

const PTR_STRUCT_BASE & FrameCPP::Common::OStream::NextPtrStruct ( const object_type::element_type *  Cur) const
inherited

Create a PTR_STRUCT for next object.

OStream & FrameCPP::Common::OStream::operator<< ( object_type  Data)
inlineinherited
Todo:
support MD5Sum
OStream & FrameCPP::Common::OStream::operator<< ( Pointer  Data)
inlineinherited
template<typename T , const std::string &(T::*)() const F>
OStream& FrameCPP::Common::OStream::operator<< ( const SearchContainer< T, F > &  SC)
inlineinherited
template<typename T >
OStream& FrameCPP::Common::OStream::operator<< ( const Container< T > &  C)
inlineinherited
template<typename L >
OStream& FrameCPP::Common::OStream::operator<< ( const STRING< L > &  String)
inlineinherited
template<typename L >
OStream& FrameCPP::Common::OStream::operator<< ( const STRING_SHADOW< L > &  String)
inlineinherited
template<typename L >
OStream& FrameCPP::Common::OStream::operator<< ( const std::vector< STRING< L > > &  Strings)
inlineinherited
template<typename DT >
OStream & FrameCPP::Common::OStream::operator<< ( const std::vector< DT > &  N)
inlineinherited
template<typename DT >
OStream & FrameCPP::Common::OStream::operator<< ( const DT &  N)
inlineinherited
template<>
OStream& FrameCPP::Common::OStream::operator<< ( const LDASTools::AL::GPSTime &  Data)
inlineinherited
OStream::object_type FrameCPP::Common::OStream::Pop ( )
inlineinherited

Get an object from the output queue.

Returns
The next object to be written to the stream.

This method retieves the next object to be written along with information indicating if the object should be deallocated once written.

cmn_streamsize_type FrameCPP::Common::StreamBase::PtrStructBytes ( ) const
inlineinherited
template<typename Iter >
void FrameCPP::Common::OStream::PushMulti ( Iter  Start,
Iter  End,
size_t  Size 
)
inlineinherited

Append multiple objects to the output queue.

Parameters
[in]StartThe first element to be added to the queue.
[in]EndThe last element to be added to the queue.
[in]SizeThe number of elements to be added to the queue.
void FrameCPP::Common::OStream::PushSingle ( object_type  Obj)
inlineinherited

Append an object to the output queue.

Parameters
[in]ObjThe object to be written.

This method adds an object to the queue of objects to be written. It preserves the order in which the objects should be written to the stream by keeping a local iterator indicating the point of insertion.

buffer_type* FrameCPP::Common::OStream::rdbuf ( ) const
inlineinherited
const PTR_STRUCT_BASE & FrameCPP::Common::OStream::Reference ( object_type  Obj) const
inherited
StreamBase::const_stream_ref_ptr_type FrameCPP::Common::StreamBase::ReferenceStreamRef ( ) const
inherited
void FrameCPP::Common::FrameStream::reset ( )
protectedvirtualinherited

Reimplemented in FrameCPP::Common::IFrameStream.

void FrameCPP::Common::OFrameStream::SetAutoDeleteBuffer ( const bool  AutoDelete)
inline

Establish if the buffer is to be released with the Stream.

Parameters
[in]AutoDeleteIf true, then the buffer will be released with the destruction of this instance. If false, then the buffer will exist even after the destruction of this instance.
void FrameCPP::Common::OStream::setAutoDeleteBuffer ( const bool  Value)
inlineprotectedinherited

Establish if the buffer is to be released with the Stream.

Parameters
[in]ValueIf true, then the buffer will be released with the destruction of this instance. If false, then the buffer will exist even after the destruction of this instance.
void FrameCPP::Common::OStream::SetCheckSumFile ( const CheckSum::kind_type  Type)
inlineinherited
void FrameCPP::Common::OStream::SetCheckSumFrame ( const CheckSum::kind_type  Type)
inlineinherited
void FrameCPP::Common::OStream::SetCheckSumObject ( const CheckSum::kind_type  Type)
inlineinherited
void FrameCPP::Common::OStream::setFrHeader ( unique_object_type Obj)
inlineprotectedinherited
void FrameCPP::Common::FrameStream::setLastError ( const std::string &  Message)
inlineprotectedinherited
void FrameCPP::Common::OFrameStream::SetMD5Sum ( bool  Value)
inline
void FrameCPP::Common::FrameStream::setTOC ( )
protectedinherited
const StreamRefInterface & FrameCPP::Common::FrameStream::streamRef ( ) const
inlineprotectedinherited
FrameStream::version_type FrameCPP::Common::FrameStream::streamVersion ( ) const
inlineprotectedinherited
FrameStream::version_type FrameCPP::Common::FrameStream::Version ( ) const
inlineinherited
void FrameCPP::Common::FrameStream::version_stream ( version_type  Version)
inlineprotectedinherited
void FrameCPP::Common::OFrameStream::Write ( object_type  Obj)
Todo:
Check that the compression mode is supported by by the writer
Todo:
Need to ensure that all FrStatData structures have been written to the stream. This is to verify that that an FrDetector structure has been associated with each FrStatData.
OStream & FrameCPP::Common::OStream::write ( const char_type S,
std::streamsize  N 
)
inlineinherited
void FrameCPP::Common::OFrameStream::WriteFrame ( object_type  FrameObject,
chkSum_type  FrameChecksumType = Common::CheckSum::NONE 
)

Write Frame data to the stream.

void FrameCPP::Common::OFrameStream::WriteFrame ( object_type  FrameObject,
INT_2U  CompressionScheme,
INT_2U  CompressionLevel,
chkSum_type  FrameChecksumType = CheckSum::NONE 
)

Write Frame data to the stream.

void FrameCPP::Common::OFrameStream::WriteFrStatData ( object_type  FrameObject)

Member Data Documentation

bool FrameCPP::Common::FrameStream::m_closed_state
protectedinherited
Dictionary FrameCPP::Common::StreamBase::m_dictionary
protectedinherited
checksum_filter_type FrameCPP::Common::StreamBase::m_file_checksum
protectedinherited

Checksum for file.

md5sum_filter_type FrameCPP::Common::StreamBase::m_file_md5sum
protectedinherited

MD5Sum value for the files.

checksum_filter_type FrameCPP::Common::StreamBase::m_frame_checksum
protectedinherited

Checksum for frame.

std::unique_ptr< MD5SumFilter > FrameCPP::Common::FrameStream::m_md5sumFilter
protectedinherited
object_type FrameCPP::Common::StreamBase::m_null_stream_ref
protectedinherited
checksum_filter_type FrameCPP::Common::StreamBase::m_obj_checksum
protectedinherited

Checksum for object.

ptr_struct_base_type FrameCPP::Common::StreamBase::m_ptr_struct_object
protectedinherited
streamid_to_fsiid_type FrameCPP::Common::StreamBase::m_stream_id_to_fsi_id
mutableprotectedinherited

The documentation for this class was generated from the following files: