8 #include <system/string.h>
9 #include <system/iequatable.h>
10 #include <system/guid.h>
13 #include "aspose.tasks.cpp/NullableBool.h"
14 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
20 namespace Calculations
22 class TaskSlackCalculator;
24 namespace Connectivity
26 class MpdTaskLinkMapper;
27 class MspTaskLinksMapper;
28 class PmTaskRelationMapper;
34 class HtmlTaskTableReader;
45 class MPPTaskLinksReader;
47 namespace PrimaveraXml
49 class PrimaveraRelationshipNodeReader;
57 class TaskLinkEntityMapper;
58 class TaskLinkToRawValuesMapper;
64 class XerRelationReader;
68 class TaskLinksNodeReader;
69 class TaskLinksNodeWriter;
74 class PrimaveraRelationshipNodeWriter;
75 class XerRelationTable;
79 class ConstraintSolver;
80 class TopologicalSort;
81 class TopsortCriticalPath;
84 class TaskLinkCollection;
85 enum class TaskLinkType;
86 class TaskWarningCalculator;
87 enum class TimeUnitType : int8_t;
88 namespace Visualization
90 class ApsFFVerticalLinkBuilder;
91 class ApsFSVerticalLinkBuilder;
92 class ApsLinksBuilder;
93 class ApsSFVerticalLinkBuilder;
94 class ApsSSVerticalLinkBuilder;
95 class TaskToColumnText;
101 namespace Collections
105 template <
typename>
class Stack;
118 class ASPOSE_TASKS_SHARED_CLASS
TaskLink final :
public System::IEquatable<System::SharedPtr<Aspose::Tasks::TaskLink>>
121 typedef System::IEquatable<System::SharedPtr<Aspose::Tasks::TaskLink>> BaseType;
123 typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
124 ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
126 friend class Aspose::Tasks::Calculations::TaskSlackCalculator;
127 friend class Aspose::Tasks::IO::PrimaveraXml::PrimaveraRelationshipNodeReader;
129 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::TaskLinkToRawValuesMapper;
130 friend class Aspose::Tasks::Connectivity::MpdTaskLinkMapper;
131 friend class Aspose::Tasks::Connectivity::MspTaskLinksMapper;
132 friend class Aspose::Tasks::Connectivity::PmTaskRelationMapper;
133 friend class Aspose::Tasks::IO::Html::HtmlTaskTableReader;
134 friend class Aspose::Tasks::IO::MSProject::MPP12Reader;
135 friend class Aspose::Tasks::IO::MSProject::MPP14Reader;
136 friend class Aspose::Tasks::IO::MSProject::MPPTaskLinksReader;
137 friend class Aspose::Tasks::IO::MSProject::MPP9Reader;
138 friend class Aspose::Tasks::IO::Mpx::MpxReader;
139 friend class Aspose::Tasks::IO::Xer::XerRelationReader;
140 friend class Aspose::Tasks::IO::Pwa::InternalApi::Mapping::TaskLinkEntityMapper;
141 friend class Aspose::Tasks::IO::Xml::TaskLinksNodeReader;
142 friend class Aspose::Tasks::IO::Xml::TaskLinksNodeWriter;
143 friend class Aspose::Tasks::TaskWarningCalculator;
144 friend class Aspose::Tasks::Saving::XerRelationTable;
145 friend class Aspose::Tasks::Saving::PrimaveraRelationshipNodeWriter;
146 friend class Aspose::Tasks::Scheduling::ConstraintSolver;
147 friend class Aspose::Tasks::Scheduling::TopsortCriticalPath;
148 friend class Aspose::Tasks::Scheduling::TopologicalSort;
150 friend class Aspose::Tasks::Visualization::ApsFFVerticalLinkBuilder;
151 friend class Aspose::Tasks::Visualization::ApsLinksBuilder;
152 friend class Aspose::Tasks::Visualization::ApsFSVerticalLinkBuilder;
153 friend class Aspose::Tasks::Visualization::ApsSFVerticalLinkBuilder;
154 friend class Aspose::Tasks::Visualization::ApsSSVerticalLinkBuilder;
155 friend class Aspose::Tasks::Visualization::TaskToColumnText;
162 ASPOSE_TASKS_SHARED_API
bool get_IsCrossProject()
const;
166 ASPOSE_TASKS_SHARED_API
void set_IsCrossProject(
bool value);
170 ASPOSE_TASKS_SHARED_API System::String get_CrossProjectName()
const;
174 ASPOSE_TASKS_SHARED_API
void set_CrossProjectName(
const System::String& value);
178 ASPOSE_TASKS_SHARED_API int32_t get_LinkLag()
const;
182 ASPOSE_TASKS_SHARED_API
void set_LinkLag(int32_t value);
190 ASPOSE_TASKS_SHARED_API System::TimeSpan get_LinkLagTimeSpan();
198 ASPOSE_TASKS_SHARED_API
void set_LinkLagTimeSpan(System::TimeSpan value);
202 ASPOSE_TASKS_SHARED_API TimeUnitType get_LagFormat()
const;
206 ASPOSE_TASKS_SHARED_API
void set_LagFormat(TimeUnitType value);
210 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Task>& get_PredTask()
const;
214 ASPOSE_TASKS_SHARED_API
void set_PredTask(
const System::SharedPtr<Task>& value);
218 ASPOSE_TASKS_SHARED_API
const System::SharedPtr<Task>& get_SuccTask()
const;
222 ASPOSE_TASKS_SHARED_API
void set_SuccTask(
const System::SharedPtr<Task>& value);
226 ASPOSE_TASKS_SHARED_API TaskLinkType get_LinkType()
const;
230 ASPOSE_TASKS_SHARED_API
void set_LinkType(TaskLinkType value);
236 ASPOSE_TASKS_SHARED_API int32_t GetHashCode()
const override;
242 ASPOSE_TASKS_SHARED_API
bool Equals(System::SharedPtr<TaskLink> other)
override;
248 ASPOSE_TASKS_SHARED_API System::String ToString()
const override;
255 ASPOSE_TASKS_SHARED_API
bool Equals(System::SharedPtr<System::Object> obj)
override;
259 ASPOSE_TASKS_SHARED_API
NullableBool get_NullableCrossProject()
const;
260 ASPOSE_TASKS_SHARED_API
void set_NullableCrossProject(
NullableBool value);
261 ASPOSE_TASKS_SHARED_API
bool get_IsDummy()
const;
262 ASPOSE_TASKS_SHARED_API int32_t get_Uid()
const;
263 ASPOSE_TASKS_SHARED_API
void set_Uid(int32_t value);
264 ASPOSE_TASKS_SHARED_API System::Guid get_Guid()
const;
265 ASPOSE_TASKS_SHARED_API
void set_Guid(System::Guid value);
266 ASPOSE_TASKS_SHARED_API
bool get_IsNegativeLag();
267 ASPOSE_TASKS_SHARED_API
bool get_PredecessorFinishLinked();
281 ASPOSE_TASKS_SHARED_API
TaskLink(
const System::SharedPtr<Task>& predTask,
const System::SharedPtr<Task>& succTask, TaskLinkType linkType);
283 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(TaskLink, CODEPORTING_ARGS(
const System::SharedPtr<Task>& predTask,
const System::SharedPtr<Task>& succTask, TaskLinkType linkType));
285 ASPOSE_TASKS_SHARED_API TaskLink(
const System::SharedPtr<Task>& predTask,
const System::SharedPtr<Task>& succTask, TaskLinkType linkType,
bool isDummy);
287 ASPOSE_TASKS_SHARED_API MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(TaskLink, CODEPORTING_ARGS(
const System::SharedPtr<Task>& predTask,
const System::SharedPtr<Task>& succTask, TaskLinkType linkType,
bool isDummy));
288 ASPOSE_TASKS_SHARED_API
void AddRelation();
289 ASPOSE_TASKS_SHARED_API
void RemoveRelation();
290 ASPOSE_TASKS_SHARED_API System::TimeSpan GetLagDuration()
const;
291 ASPOSE_TASKS_SHARED_API System::String GetTaskLinkString(int32_t taskUid);
293 virtual ASPOSE_TASKS_SHARED_API ~TaskLink();
295 #ifdef ASPOSE_GET_SHARED_MEMBERS
296 ASPOSE_TASKS_SHARED_API
void GetSharedMembers(System::Object::shared_members_type& result)
const override;
302 System::Guid internalGuid;
304 TaskLinkType linkType;
305 System::String pr_CrossProjectName;
307 TimeUnitType pr_LagFormat;
308 System::WeakPtr<Task> pr_PredTask;
309 System::WeakPtr<Task> pr_SuccTask;
312 System::Guid pr_Guid;
314 bool get_Invalid()
const;
316 System::String GetLagString()
const;
317 void CheckTwiceLinked();
318 void CheckCircuits();
319 void CheckCircuits(
const System::SharedPtr<Task>& temp,
const System::SharedPtr<System::Collections::Generic::Stack<System::SharedPtr<Task>>>& predecessors);
Represents a predecessor link.
Definition: TaskLink.h:118
Represents a task in a project.
Definition: Task.h:383
Represents a collection of Task objects.
Definition: TaskLinkCollection.h:91
A class for boolean values with possibility to check whether the value was defined or not...
Definition: NullableBool.h:21