InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CContentIteratorRegister Class Reference

#include <CContentIteratorReg.h>

Inheritance diagram for CContentIteratorRegister:
IContentIteratorRegisterIPMUnknownSnapIteratorRegister

Public Member Functions

virtual uint32 GetClassIDCount ()
 
virtual void GetNthClassID (uint32 n, ClassID &id)
 
virtual uint32 GetImplementationIDCount ()
 
virtual void GetNthImplementationID (uint32 n, ImplementationID &id)
 
virtual IContentReadIteratorNewNthClassReadIterator (uint32 n, const VersionID &version, IPMStream *s)
 
virtual IContentWriteIteratorNewNthClassWriteIterator (uint32 n, const VersionID &version, IPMStream *s)
 
virtual IContentReadIteratorNewNthImplementationReadIterator (uint32 n, const VersionID &version, IPMStream *s)
 
virtual IContentWriteIteratorNewNthImplementationWriteIterator (uint32 n, const VersionID &version, IPMStream *s)
 

Protected Member Functions

IContentReadIteratorNewSchemaReadIterator (ClassID classID, const VersionID &version, IPMStream *s)
 
IContentReadIteratorNewSchemaReadIterator (ImplementationID implID, const VersionID &version, IPMStream *s)
 

Detailed Description

CContentIteratorRegister is a useful base class for implementing IContentIteratorRegister in situations where all of the iterators are schema-driven. This class will do most of the work for you, generating input iterators that are driven by information found in the schemas. Public methods are uncommented here because they are documented in IContentIteratorRegister.

See Also
IContentIteratorRegister

Member Function Documentation

virtual uint32 CContentIteratorRegister::GetClassIDCount ()
virtual

Return a count of the number of classes for which iterators can be provided.

Returns
The class count

Implements IContentIteratorRegister.

virtual uint32 CContentIteratorRegister::GetImplementationIDCount ()
virtual

Return a count of the number of implementations for which iterators can be provided.

Returns
The implementation count

Implements IContentIteratorRegister.

Reimplemented in SnapIteratorRegister.

virtual void CContentIteratorRegister::GetNthClassID (uint32 n,
ClassIDid 
)
virtual

Return the ID of the n-th class for which iterators can be provided.

Parameters
nIN Which class
idOUT The class ID or kInvalidClass if n is invalid.

Implements IContentIteratorRegister.

virtual void CContentIteratorRegister::GetNthImplementationID (uint32 n,
ImplementationIDid 
)
virtual

Return the ID of the n-th implementation for which iterators can be provided.

Parameters
nIN Which implementation
idOUT The implementation ID or kInvalidImpl if n is invalid.

Implements IContentIteratorRegister.

Reimplemented in SnapIteratorRegister.

virtual IContentReadIterator* CContentIteratorRegister::NewNthClassReadIterator (uint32 n,
const VersionIDversion,
IPMStreams 
)
virtual

Create a new input iterator for a particular version of a particular class.

Parameters
nIN The index of the class in the list supplied via GetNthClassID()
versionIN The class data format
sIN An input stream that contains the data in the specified format
Returns
A referenced instance of IContentReadIterator

Implements IContentIteratorRegister.

virtual IContentWriteIterator* CContentIteratorRegister::NewNthClassWriteIterator (uint32 n,
const VersionIDversion,
IPMStreams 
)
virtual

Create a new output iterator for a particular version of a particular class.

Parameters
nIN The index of the class in the list supplied via GetNthClassID()
versionIN The class data format
sIN An output stream that will contain the data
Returns
A referenced instance of IContentWriteIterator

Implements IContentIteratorRegister.

virtual IContentReadIterator* CContentIteratorRegister::NewNthImplementationReadIterator (uint32 n,
const VersionIDversion,
IPMStreams 
)
virtual

Create a new input iterator for a particular version of a particular implementation.

Parameters
nIN The index of the implementation in the list supplied via GetNthImplementationID()
versionIN The implementation data format
sIN An input stream that contains the data in the specified format
Returns
A referenced instance of IContentReadIterator

Implements IContentIteratorRegister.

Reimplemented in SnapIteratorRegister.

virtual IContentWriteIterator* CContentIteratorRegister::NewNthImplementationWriteIterator (uint32 n,
const VersionIDversion,
IPMStreams 
)
virtual

Create a new output iterator for a particular version of a particular implementation.

Parameters
nIN The index of the implementation in the list supplied via GetNthImplementationID()
versionIN The implementation data format
sIN An output stream that will contain the data
Returns
A referenced instance of IContentWriteIterator

Implements IContentIteratorRegister.

Reimplemented in SnapIteratorRegister.

IContentReadIterator* CContentIteratorRegister::NewSchemaReadIterator (ClassID classID,
const VersionIDversion,
IPMStreams 
)
inlineprotected

Return a referenced input iterator based on a schema that describe the class data format.

Parameters
classIDIN The class to be iterated
versionIN The class data format
sIN An input stream that contains the data in the specified format
Returns
A referenced instance of IContentReadIterator
IContentReadIterator* CContentIteratorRegister::NewSchemaReadIterator (ImplementationID implID,
const VersionIDversion,
IPMStreams 
)
inlineprotected

Return a referenced input iterator based on a schema that describes the implementation data format.

Parameters
implIDIN The implementation to be iterated
versionIN The implementation data format
sIN An input stream that contains the data in the specified format
Returns
A referenced instance of IContentReadIterator