Aspose.Tasks for C++
BuiltInProjectPropertyCollection.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="BuiltInProjectPropertyCollection.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include "aspose.tasks.cpp/PropertyCollections/PropertyKeyedCollection.h"
9 #include "aspose.tasks.cpp/PropertyCollections/BuiltInProjectProperty.h"
10 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
11 
12 namespace Aspose
13 {
14 namespace Tasks
15 {
16 template <typename, typename> class Key;
17 enum class PrjKey : uint8_t;
18 class Project;
19 } // namespace Tasks
20 } // namespace Aspose
21 namespace System
22 {
23 class String;
24 } // namespace System
25 
26 namespace Aspose {
27 
28 namespace Tasks {
29 
30 namespace Properties {
31 
32 /// <summary>
33 /// Represents a collection of built-in project properties.
34 /// </summary>
35 class ASPOSE_TASKS_SHARED_CLASS BuiltInProjectPropertyCollection final : public Aspose::Tasks::Properties::PropertyKeyedCollection<System::SharedPtr<Aspose::Tasks::Properties::BuiltInProjectProperty>>
36 {
39 
40  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
41  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
42 
43  friend class Aspose::Tasks::Project;
44 
45 public:
46 
47  /// <summary>
48  /// Gets a value indicating whether this collection is read-only; otherwise, false.
49  /// </summary>
50  ASPOSE_TASKS_SHARED_API bool get_IsReadOnly() const override;
51  /// <summary>
52  /// Gets the title of a project.
53  /// </summary>
54  ASPOSE_TASKS_SHARED_API System::String get_Title();
55  /// <summary>
56  /// Sets the title of a project.
57  /// </summary>
58  ASPOSE_TASKS_SHARED_API void set_Title(const System::String& value);
59  /// <summary>
60  /// Gets the subject of a project.
61  /// </summary>
62  ASPOSE_TASKS_SHARED_API System::String get_Subject();
63  /// <summary>
64  /// Sets the subject of a project.
65  /// </summary>
66  ASPOSE_TASKS_SHARED_API void set_Subject(const System::String& value);
67  /// <summary>
68  /// Gets the author of a project.
69  /// </summary>
70  ASPOSE_TASKS_SHARED_API System::String get_Author();
71  /// <summary>
72  /// Sets the author of a project.
73  /// </summary>
74  ASPOSE_TASKS_SHARED_API void set_Author(const System::String& value);
75  /// <summary>
76  /// Gets the manager of a project.
77  /// </summary>
78  ASPOSE_TASKS_SHARED_API System::String get_Manager();
79  /// <summary>
80  /// Sets the manager of a project.
81  /// </summary>
82  ASPOSE_TASKS_SHARED_API void set_Manager(const System::String& value);
83  /// <summary>
84  /// Gets the company of a project.
85  /// </summary>
86  ASPOSE_TASKS_SHARED_API System::String get_Company();
87  /// <summary>
88  /// Sets the company of a project.
89  /// </summary>
90  ASPOSE_TASKS_SHARED_API void set_Company(const System::String& value);
91  /// <summary>
92  /// Gets the category of a project.
93  /// </summary>
94  ASPOSE_TASKS_SHARED_API System::String get_Category();
95  /// <summary>
96  /// Sets the category of a project.
97  /// </summary>
98  ASPOSE_TASKS_SHARED_API void set_Category(const System::String& value);
99  /// <summary>
100  /// Gets the keywords of a project.
101  /// </summary>
102  ASPOSE_TASKS_SHARED_API System::String get_Keywords();
103  /// <summary>
104  /// Sets the keywords of a project.
105  /// </summary>
106  ASPOSE_TASKS_SHARED_API void set_Keywords(const System::String& value);
107  /// <summary>
108  /// Gets the comments of a project.
109  /// </summary>
110  ASPOSE_TASKS_SHARED_API System::String get_Comments();
111  /// <summary>
112  /// Sets the comments of a project.
113  /// </summary>
114  ASPOSE_TASKS_SHARED_API void set_Comments(const System::String& value);
115  /// <summary>
116  /// Gets the hyperlink base of a project.
117  /// </summary>
118  ASPOSE_TASKS_SHARED_API System::String get_HyperlinkBase();
119  /// <summary>
120  /// Sets the hyperlink base of a project.
121  /// </summary>
122  ASPOSE_TASKS_SHARED_API void set_HyperlinkBase(const System::String& value);
123 
124  ASPOSE_TASKS_SHARED_API void SetTemplateWeakPtr(uint32_t argument) override;
125 
126 protected:
127 
128  ASPOSE_TASKS_SHARED_API BuiltInProjectPropertyCollection(const System::SharedPtr<Project>& project);
129 
130  ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(BuiltInProjectPropertyCollection, CODEPORTING_ARGS(const System::SharedPtr<Project>& project));
131 
132  virtual ASPOSE_TASKS_SHARED_API ~BuiltInProjectPropertyCollection();
133 
134  #ifdef ASPOSE_GET_SHARED_MEMBERS
135  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
136  #endif
137 
138 
139 private:
140 
141  System::WeakPtr<Project> project;
142 
143  void InitializeProperties();
144  System::String Get(Key<System::String, PrjKey> key);
145  void Set(Key<System::String, PrjKey> key, const System::String& value);
146  void AddProperty(Key<System::String, PrjKey> key);
147 
148 };
149 
150 } // namespace Properties
151 } // namespace Tasks
152 } // namespace Aspose
153 
154 
Represents a project.
Definition: Project.h:551
T Get(const Key< T, PrjKey > &key) const
Returns the value to which the property is mapped in this container.
Definition: Project.h:1753
void Set(const Key< T, PrjKey > &key, const T &val)
Maps the specified property to the specified value in this container.
Definition: Project.h:1779
Represents a collection of built-in project properties.
Definition: BuiltInProjectPropertyCollection.h:36
void set_Keywords(const System::String &value)
Sets the keywords of a project.
System::String get_HyperlinkBase()
Gets the hyperlink base of a project.
System::String get_Author()
Gets the author of a project.
void set_Title(const System::String &value)
Sets the title of a project.
System::String get_Category()
Gets the category of a project.
void set_Category(const System::String &value)
Sets the category of a project.
void set_HyperlinkBase(const System::String &value)
Sets the hyperlink base of a project.
void set_Company(const System::String &value)
Sets the company of a project.
System::String get_Comments()
Gets the comments of a project.
void set_Subject(const System::String &value)
Sets the subject of a project.
System::String get_Subject()
Gets the subject of a project.
System::String get_Keywords()
Gets the keywords of a project.
System::String get_Title()
Gets the title of a project.
System::String get_Manager()
Gets the manager of a project.
void set_Author(const System::String &value)
Sets the author of a project.
void set_Comments(const System::String &value)
Sets the comments of a project.
void set_Manager(const System::String &value)
Sets the manager of a project.
bool get_IsReadOnly() const override
Gets a value indicating whether this collection is read-only; otherwise, false.
System::String get_Company()
Gets the company of a project.
A base class of collection of properties.
Definition: PropertyKeyedCollection.h:48
Definition: Asn.h:13