本文整理汇总了C++中StateWriter::GetObjectsWriter方法的典型用法代码示例。如果您正苦于以下问题:C++ StateWriter::GetObjectsWriter方法的具体用法?C++ StateWriter::GetObjectsWriter怎么用?C++ StateWriter::GetObjectsWriter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StateWriter
的用法示例。
在下文中一共展示了StateWriter::GetObjectsWriter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Shutdown
EStatusCode PDFWriter::Shutdown(const std::string& inStateFilePath)
{
EStatusCode status;
do
{
StateWriter writer;
status = writer.Start(inStateFilePath);
if(status != eSuccess)
{
TRACE_LOG("PDFWriter::Shutdown, cant start state writing");
break;
}
ObjectIDType rootObjectID = writer.GetObjectsWriter()->StartNewIndirectObject();
DictionaryContext* pdfWriterDictionary = writer.GetObjectsWriter()->StartDictionary();
pdfWriterDictionary->WriteKey("Type");
pdfWriterDictionary->WriteNameValue("PDFWriter");
ObjectIDType objectsContextID = writer.GetObjectsWriter()->GetInDirectObjectsRegistry().AllocateNewObjectID();
ObjectIDType DocumentContextID = writer.GetObjectsWriter()->GetInDirectObjectsRegistry().AllocateNewObjectID();
pdfWriterDictionary->WriteKey("mObjectsContext");
pdfWriterDictionary->WriteNewObjectReferenceValue(objectsContextID);
pdfWriterDictionary->WriteKey("mDocumentContext");
pdfWriterDictionary->WriteNewObjectReferenceValue(DocumentContextID);
pdfWriterDictionary->WriteKey("mIsModified");
pdfWriterDictionary->WriteBooleanValue(mIsModified);
if(mIsModified)
{
pdfWriterDictionary->WriteKey("mModifiedFileVersion");
pdfWriterDictionary->WriteIntegerValue(mModifiedFileVersion);
}
writer.GetObjectsWriter()->EndDictionary(pdfWriterDictionary);
writer.GetObjectsWriter()->EndIndirectObject();
writer.SetRootObject(rootObjectID);
status = mObjectsContext.WriteState(writer.GetObjectsWriter(),objectsContextID);
if(status != eSuccess)
break;
status = mDocumentContext.WriteState(writer.GetObjectsWriter(),DocumentContextID);
if(status != eSuccess)
break;
status = writer.Finish();
if(status != eSuccess)
{
TRACE_LOG("PDFWriter::Shutdown, cant finish state writing");
}
}while(false);
if(status != eSuccess)
{
mOutputFile.CloseFile();
TRACE_LOG("PDFWriter::Shutdown, Could not end PDF");
}
else
status = mOutputFile.CloseFile();
//ReleaseLog();
return status;
}