Aspose.Tasks for C++
RecurrenceRangeBase.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="RecurrenceRangeBase.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2025 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/object.h>
9 #include <system/date_time.h>
10 
11 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
12 
13 namespace Aspose
14 {
15 namespace Tasks
16 {
17 class EndAfterRecurrenceRange;
18 class EndByRecurrenceRange;
19 class RecurrencePatternBase;
20 class RecurrencePatternValidatorBase;
21 namespace Recurring
22 {
23 namespace Calculators
24 {
25 class RecurrenceDateCalculatorBase;
26 } // namespace Calculators
27 } // namespace Recurring
28 class RecurringTaskBuilder;
29 class RecurringTaskParameters;
30 class WorkUnit;
31 } // namespace Tasks
32 } // namespace Aspose
33 namespace System
34 {
35 namespace Collections
36 {
37 namespace Generic
38 {
39 template <typename> class IEnumerable;
40 } // namespace Generic
41 } // namespace Collections
42 } // namespace System
43 
44 namespace Aspose {
45 
46 namespace Tasks {
47 
48 /// <summary>
49 /// Represents the recurrence range of recurring task.
50 /// </summary>
51 class ASPOSE_TASKS_SHARED_CLASS RecurrenceRangeBase : public System::Object
52 {
54  typedef System::Object BaseType;
55 
56  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
57  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
58 
59  friend class EndByRecurrenceRange;
60  friend class RecurringTaskParameters;
61  friend class EndAfterRecurrenceRange;
62  friend class RecurringTaskBuilder;
63 
64 public:
65 
66  /// <summary>
67  /// Gets the start date of the recurrence range of the recurring task.
68  /// </summary>
69  ASPOSE_TASKS_SHARED_API System::DateTime get_Start() const;
70  /// <summary>
71  /// Sets the start date of the recurrence range of the recurring task.
72  /// </summary>
73  ASPOSE_TASKS_SHARED_API void set_Start(System::DateTime value);
74 
75 protected:
76 
77  /// <summary>
78  /// Initializes a new instance of the <see cref="RecurrenceRangeBase"></see> class.
79  /// </summary>
80  ASPOSE_TASKS_SHARED_API RecurrenceRangeBase();
81 
82  ASPOSE_TASKS_SHARED_API void EnsureInitializationIsDone(const System::SharedPtr<RecurrencePatternBase>& patternBase);
83  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidator();
84  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetDateCalculator();
85  ASPOSE_TASKS_SHARED_API virtual System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<WorkUnit>>> GetDateRanges() = 0;
86  #ifdef ASPOSE_GET_SHARED_MEMBERS
87  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
88  #endif
89 
90 
91 private:
92 
93  System::WeakPtr<RecurrencePatternBase> recurrencePattern;
94  System::DateTime pr_Start;
95 
96 };
97 
98 } // namespace Tasks
99 } // namespace Aspose
100 
101 
Represents the recurrence range of recurring task which is limited by occurrence number.
Definition: EndAfterRecurrenceRange.h:39
Represents the recurrence range of recurring task which is limited by finish day.
Definition: EndByRecurrenceRange.h:39
Represents the recurrence range of recurring task.
Definition: RecurrenceRangeBase.h:52
System::DateTime get_Start() const
Gets the start date of the recurrence range of the recurring task.
void set_Start(System::DateTime value)
Sets the start date of the recurrence range of the recurring task.
Represents the set of parameters are used to create a recurring task in a project.
Definition: RecurringTaskParameters.h:49
Aspose.
Definition: Asn.h:13