MetaInfo.h
1#pragma once
2// Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3
4#include <system/object.h>
5#include <system/guid.h>
6#include <system/collections/sorted_dictionary.h>
7#include <cstdint>
8
9#include "Aspose.Pub.Cpp/aspose_pub_api_defs.h"
10
11namespace Aspose
12{
13namespace Pub
14{
15class DocSummaryInfo;
16class PubParser;
17class SummaryInfo;
18} // namespace Pub
19} // namespace Aspose
20namespace System
21{
22class String;
23} // namespace System
24
25namespace Aspose {
26
27namespace Pub {
28
32class ASPOSE_PUB_SHARED_CLASS MetaInfo : public System::Object
33{
34 typedef MetaInfo ThisType;
36
37 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
38 ASPOSE_PUB_SHARED_RTTI_INFO_DECL();
39
42 friend class Aspose::Pub::PubParser;
43
44public:
45
49 ASPOSE_PUB_SHARED_API uint16_t get_RawByteOrder();
53 ASPOSE_PUB_SHARED_API bool get_IsLittleEndian() const;
57 ASPOSE_PUB_SHARED_API uint16_t get_Version() const;
61 ASPOSE_PUB_SHARED_API uint32_t get_SysID() const;
65 ASPOSE_PUB_SHARED_API System::Guid get_Clsid() const;
69 ASPOSE_PUB_SHARED_API System::Guid get_FMTID() const;
73 ASPOSE_PUB_SHARED_API int32_t get_PropsCount();
81 ASPOSE_PUB_SHARED_API int16_t get_CodePage();
85 ASPOSE_PUB_SHARED_API uint32_t get_Locale();
86
92 ASPOSE_PUB_SHARED_API System::SharedPtr<System::Object> GetProperty(uint32_t id);
93
94 ASPOSE_PUB_SHARED_API MetaInfo();
95
96protected:
97
101 uint8_t _rawLowByteOrder, _rawHighByteOrder;
109 uint16_t _version;
113 uint32_t _sysId;
125 int16_t _codePage;
130
136 void SetByteOrder(uint8_t lowByte, uint8_t highByte);
141 void SetVersion(uint16_t value);
146 void SetSysID(uint32_t value);
163 ASPOSE_PUB_SHARED_API System::String GetStringByID(uint32_t id);
169 ASPOSE_PUB_SHARED_API int32_t GetIntByID(uint32_t id);
170
171};
172
176class ASPOSE_PUB_SHARED_CLASS SummaryInfo : public Aspose::Pub::MetaInfo
177{
178 typedef SummaryInfo ThisType;
180
181 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
182 ASPOSE_PUB_SHARED_RTTI_INFO_DECL();
183
184public:
185
189 ASPOSE_PUB_SHARED_API System::String get_Title();
193 ASPOSE_PUB_SHARED_API System::String get_Subject();
197 ASPOSE_PUB_SHARED_API System::String get_Author();
201 ASPOSE_PUB_SHARED_API System::String get_Keywords();
205 ASPOSE_PUB_SHARED_API System::String get_Comments();
209 ASPOSE_PUB_SHARED_API System::String get_LastAuthor();
213 ASPOSE_PUB_SHARED_API System::String get_Template();
217 ASPOSE_PUB_SHARED_API System::String get_RevNumber();
221 ASPOSE_PUB_SHARED_API System::String get_AppName();
225 ASPOSE_PUB_SHARED_API int32_t get_PageCount();
229 ASPOSE_PUB_SHARED_API int32_t get_WordCount();
233 ASPOSE_PUB_SHARED_API int32_t get_CharCount();
243 ASPOSE_PUB_SHARED_API int32_t get_DocSecurity();
244
249 ASPOSE_PUB_SHARED_API void SetTitle(System::String value);
254 ASPOSE_PUB_SHARED_API void SetSubject(System::String value);
259 ASPOSE_PUB_SHARED_API void SetAuthor(System::String value);
264 ASPOSE_PUB_SHARED_API void SetKeywords(System::String value);
269 ASPOSE_PUB_SHARED_API void SetComments(System::String value);
274 ASPOSE_PUB_SHARED_API void SetLastAuthor(System::String value);
275
276protected:
277
297 void SetPageCount(int32_t value);
302 void SetWordCount(int32_t value);
307 void SetCharCount(int32_t value);
318 void SetDocSecurity(int32_t value);
319
320};
321
325class ASPOSE_PUB_SHARED_CLASS DocSummaryInfo : public Aspose::Pub::MetaInfo
326{
327 typedef DocSummaryInfo ThisType;
329
330 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
331 ASPOSE_PUB_SHARED_RTTI_INFO_DECL();
332
333 friend class Aspose::Pub::PubParser;
334
335public:
336
340 ASPOSE_PUB_SHARED_API System::String get_Category();
344 ASPOSE_PUB_SHARED_API System::String get_Company();
348 ASPOSE_PUB_SHARED_API System::String get_Language();
353
358 ASPOSE_PUB_SHARED_API void SetCategory(System::String value);
363 ASPOSE_PUB_SHARED_API void SetCompany(System::String value);
368 ASPOSE_PUB_SHARED_API void SetLanguage(System::String value);
369
370protected:
371
377
378private:
379
380 System::SharedPtr<MetaInfo> _userDefinedProps;
381
382};
383
384} // namespace Pub
385} // namespace Aspose
386
387
Document summary info.
Definition MetaInfo.h:326
ASPOSE_PUB_SHARED_API void SetCategory(System::String value)
Sets category.
void SetUserDefinedProperties(System::SharedPtr< MetaInfo > info)
Sets user defined properties.
ASPOSE_PUB_SHARED_API System::SharedPtr< MetaInfo > get_UserDefinedProperties() const
User defined properties.
ASPOSE_PUB_SHARED_API System::String get_Language()
Language value.
ASPOSE_PUB_SHARED_API void SetLanguage(System::String value)
Sets language.
ASPOSE_PUB_SHARED_API void SetCompany(System::String value)
Sets company.
ASPOSE_PUB_SHARED_API System::String get_Company()
Company.
ASPOSE_PUB_SHARED_API System::String get_Category()
Category.
Base class for summary info objects.
Definition MetaInfo.h:33
ASPOSE_PUB_SHARED_API MetaInfo()
ASPOSE_PUB_SHARED_API int16_t get_CodePage()
Code page identifier.
void SetFMTID(System::Guid value)
Sets FMTID identifier.
uint8_t _rawHighByteOrder
Definition MetaInfo.h:101
System::Guid _fmtId
FMTID identifier.
Definition MetaInfo.h:121
ASPOSE_PUB_SHARED_API uint32_t get_SysID() const
System identifier.
void SetClsid(System::Guid value)
Sets CLS ID identifier.
void SetByteOrder(uint8_t lowByte, uint8_t highByte)
Sets byte order.
ASPOSE_PUB_SHARED_API System::Guid get_Clsid() const
CLSID identifier.
ASPOSE_PUB_SHARED_API System::Guid get_FMTID() const
FMTID identifier.
ASPOSE_PUB_SHARED_API bool get_IsLittleEndian() const
Is little endian.
System::Guid _clsid
CLSID identifier.
Definition MetaInfo.h:117
void SetSysID(uint32_t value)
Sets system identifier.
int16_t _codePage
Code page identifier.
Definition MetaInfo.h:125
ASPOSE_PUB_SHARED_API uint32_t get_Locale()
Locale identifier.
ASPOSE_PUB_SHARED_API System::String GetStringByID(uint32_t id)
Gets string by ID.
ASPOSE_PUB_SHARED_API uint16_t get_Version() const
Version value.
ASPOSE_PUB_SHARED_API int32_t get_PropsCount()
Count of properties.
void AddProperty(uint32_t id, System::SharedPtr< System::Object > value)
uint32_t _sysId
System identifier.
Definition MetaInfo.h:113
ASPOSE_PUB_SHARED_API System::SharedPtr< System::Collections::Generic::SortedDictionary< uint32_t, System::SharedPtr< System::Object > >::KeyCollection > get_PropsIdentifiers()
Identifiers of properties.
uint16_t _version
Version value.
Definition MetaInfo.h:109
ASPOSE_PUB_SHARED_API uint16_t get_RawByteOrder()
Raw byte order.
ASPOSE_PUB_SHARED_API int32_t GetIntByID(uint32_t id)
Gets integer by ID.
bool _isLittleEndian
is little endian
Definition MetaInfo.h:105
void SetVersion(uint16_t value)
Sets version.
ASPOSE_PUB_SHARED_API System::SharedPtr< System::Object > GetProperty(uint32_t id)
Gets property by ID passed.
System::SharedPtr< System::Collections::Generic::SortedDictionary< uint32_t, System::SharedPtr< System::Object > > > _propertyMap
Map of proprties.
Definition MetaInfo.h:129
Summary info.
Definition MetaInfo.h:177
ASPOSE_PUB_SHARED_API System::String get_Comments()
Comments related the document.
ASPOSE_PUB_SHARED_API int32_t get_PageCount()
The total number of pages in the document.
ASPOSE_PUB_SHARED_API void SetTitle(System::String value)
Sets title of the document.
ASPOSE_PUB_SHARED_API void SetAuthor(System::String value)
Sets author of the document.
ASPOSE_PUB_SHARED_API void SetKeywords(System::String value)
Sets keywords related to the document.
ASPOSE_PUB_SHARED_API System::String get_LastAuthor()
The last author of the document.
void SetPageCount(int32_t value)
Sets total number of pages in the document.
void SetDocSecurity(int32_t value)
Sets document security ID. Document security ID is a 32-bit signed integer representing a set of appl...
void SetRevNumber(System::String value)
Sets application-specific revision number for this version of the document.
ASPOSE_PUB_SHARED_API int32_t get_WordCount()
The total number of words in the document.
ASPOSE_PUB_SHARED_API System::String get_Author()
The author of the document.
ASPOSE_PUB_SHARED_API System::String get_Title()
The title of the document.
void SetWordCount(int32_t value)
Sets total number of words in the document.
ASPOSE_PUB_SHARED_API System::String get_RevNumber()
Application-specific revision number for this version of the document.
ASPOSE_PUB_SHARED_API System::String get_Keywords()
Keywords related to the document.
ASPOSE_PUB_SHARED_API System::String get_Subject()
The subject of the document.
ASPOSE_PUB_SHARED_API System::String get_Template()
Application-specific template from which the document was created.
ASPOSE_PUB_SHARED_API void SetSubject(System::String value)
Sets subject of the document.
void SetCharCount(int32_t value)
Sets total number of characters in the document.
ASPOSE_PUB_SHARED_API int32_t get_DocSecurity()
The document security ID Document security ID is a 32-bit signed integer representing a set of applic...
ASPOSE_PUB_SHARED_API System::String get_AppName()
The name of the application that was used to create the document.
void SetAppName(System::String value)
Sets name of the application that was used to create the document.
ASPOSE_PUB_SHARED_API int32_t get_CharCount()
The total number of characters in the document.
void SetTemplate(System::String value)
Sets application-specific template from which the document was created.
ASPOSE_PUB_SHARED_API void SetComments(System::String value)
Sets comments related the document.
ASPOSE_PUB_SHARED_API void SetLastAuthor(System::String value)
Sets last author of the document.
Represents a Globally Unique IDentifier This type should be allocated on stack and passed to function...
Definition guid.h:34
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition object.h:65
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition smart_ptr.h:180
String class used across the library. Is a substitute for C# System.String when translating code....
Definition string.h:122
Definition Document.h:13
Definition Document.h:55
@ String
A sealed class type representing Unicode character strings.