Aspose.Tasks for C++
MonthlyRepetitionBase.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="MonthlyRepetitionBase.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <cstdint>
9 
10 #include "aspose.tasks.cpp/Recurring/Validators/IValidatorCreator.h"
11 #include "aspose.tasks.cpp/Recurring/Calculators/ICalculatorCreator.h"
12 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
13 
14 namespace Aspose
15 {
16 namespace Tasks
17 {
18 class Calendar;
19 class Duration;
20 class MonthlyRecurrencePattern;
21 class RecurrencePatternValidatorBase;
22 namespace Recurring
23 {
24 namespace Calculators
25 {
26 class RecurrenceDateCalculatorBase;
27 } // namespace Calculators
28 } // namespace Recurring
29 } // namespace Tasks
30 } // namespace Aspose
31 
32 namespace Aspose {
33 
34 namespace Tasks {
35 
36 /// <summary>
37 /// Represents a base pattern for monthly day position.
38 /// </summary>
39 class ASPOSE_TASKS_SHARED_CLASS MonthlyRepetitionBase : public Aspose::Tasks::Recurring::Validators::IValidatorCreator, public Aspose::Tasks::Recurring::Calculators::ICalculatorCreator
40 {
41  typedef MonthlyRepetitionBase ThisType;
42  typedef Aspose::Tasks::Recurring::Validators::IValidatorCreator BaseType;
43  typedef Aspose::Tasks::Recurring::Calculators::ICalculatorCreator BaseType1;
44 
45  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
46  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
47 
49 
50 public:
51 
52  /// <summary>
53  /// Gets a number of month which represents the interval in months between occurrences.
54  /// </summary>
55  ASPOSE_TASKS_SHARED_API int32_t get_RepetitionInterval() const;
56  /// <summary>
57  /// Sets a number of month which represents the interval in months between occurrences.
58  /// </summary>
59  ASPOSE_TASKS_SHARED_API void set_RepetitionInterval(int32_t value);
60 
61 protected:
62 
63  /// <summary>
64  /// Initializes a new instance of the <see cref="MonthlyRepetitionBase"></see> class.
65  /// </summary>
66  ASPOSE_TASKS_SHARED_API MonthlyRepetitionBase();
67 
68  ASPOSE_TASKS_SHARED_API System::SharedPtr<Calendar> GetCalendarInternal();
69  virtual ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidatorInternal(System::SharedPtr<Calendar> calendar) = 0;
70 
71 private:
72 
73  int32_t repetitionInterval;
74 
75  System::SharedPtr<RecurrencePatternValidatorBase> GetValidator(System::SharedPtr<Calendar> calendar) override;
76  System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetCalculator(System::SharedPtr<Calendar> calendar, Duration duration) override;
77 
78 };
79 
80 } // namespace Tasks
81 } // namespace Aspose
82 
83 
Represents duration in a project.
Definition: Duration.h:163
Represents the set of parameters are used to create a monthly recurring task in a project.
Definition: MonthlyRecurrencePattern.h:37
Represents a base pattern for monthly day position.
Definition: MonthlyRepetitionBase.h:40
int32_t get_RepetitionInterval() const
Gets a number of month which represents the interval in months between occurrences.
void set_RepetitionInterval(int32_t value)
Sets a number of month which represents the interval in months between occurrences.
Definition: Asn.h:13