Aspose.Tasks for C++
RecurrenceRangeBase.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="RecurrenceRangeBase.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 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 RecurrencePatternBase;
18 class RecurrencePatternValidatorBase;
19 namespace Recurring
20 {
21 namespace Calculators
22 {
23 class RecurrenceDateCalculatorBase;
24 } // namespace Calculators
25 } // namespace Recurring
26 class RecurringTaskBuilder;
27 class RecurringTaskParameters;
28 class WorkUnit;
29 } // namespace Tasks
30 } // namespace Aspose
31 namespace System
32 {
33 namespace Collections
34 {
35 namespace Generic
36 {
37 template <typename> class IEnumerable;
38 } // namespace Generic
39 } // namespace Collections
40 } // namespace System
41 
42 namespace Aspose {
43 
44 namespace Tasks {
45 
46 /// <summary>
47 /// Represents the recurrence range of recurring task.
48 /// </summary>
49 class ASPOSE_TASKS_SHARED_CLASS RecurrenceRangeBase : public System::Object
50 {
52  typedef System::Object BaseType;
53 
54  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
55  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
56 
57  friend class Aspose::Tasks::RecurringTaskBuilder;
59 
60 public:
61 
62  /// <summary>
63  /// Gets the start date of the recurrence range of the recurring task.
64  /// </summary>
65  ASPOSE_TASKS_SHARED_API System::DateTime get_Start() const;
66  /// <summary>
67  /// Sets the start date of the recurrence range of the recurring task.
68  /// </summary>
69  ASPOSE_TASKS_SHARED_API void set_Start(System::DateTime value);
70 
71 protected:
72 
73  /// <summary>
74  /// Initializes a new instance of the <see cref="RecurrenceRangeBase"></see> class.
75  /// </summary>
76  // ReSharper disable once EmptyConstructor
77  ASPOSE_TASKS_SHARED_API RecurrenceRangeBase();
78 
79  ASPOSE_TASKS_SHARED_API void EnsureInitializationIsDone(const System::SharedPtr<RecurrencePatternBase>& patternBase);
80  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidator();
81  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetDateCalculator();
82  virtual ASPOSE_TASKS_SHARED_API System::SharedPtr<System::Collections::Generic::IEnumerable<System::SharedPtr<WorkUnit>>> GetDateRanges() = 0;
83  #ifdef ASPOSE_GET_SHARED_MEMBERS
84  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
85  #endif
86 
87 
88 private:
89 
90  System::WeakPtr<RecurrencePatternBase> recurrencePattern;
91  System::DateTime pr_Start;
92 
93 };
94 
95 } // namespace Tasks
96 } // namespace Aspose
97 
98 
Represents the recurrence range of recurring task.
Definition: RecurrenceRangeBase.h:50
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
Definition: Asn.h:13