Aspose.Tasks for C++
YearlyRecurrencePattern.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="YearlyRecurrencePattern.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/Recurring/RecurrencePatternBase.h"
9 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Tasks
14 {
15 class Calendar;
16 class Duration;
17 class RecurrencePatternValidatorBase;
18 namespace Recurring
19 {
20 namespace Calculators
21 {
22 class RecurrenceDateCalculatorBase;
23 } // namespace Calculators
24 } // namespace Recurring
25 class YearlyRepetitionBase;
26 } // namespace Tasks
27 } // namespace Aspose
28 
29 namespace Aspose {
30 
31 namespace Tasks {
32 
33 /// <summary>
34 /// Represents the set of parameters are used to create a yearly recurring task in a project.
35 /// </summary>
36 class ASPOSE_TASKS_SHARED_CLASS YearlyRecurrencePattern : public Aspose::Tasks::RecurrencePatternBase
37 {
39  typedef Aspose::Tasks::RecurrencePatternBase BaseType;
40 
41  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
42  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
43 
44 public:
45 
46  /// <summary>
47  /// Gets the recurring position pattern.
48  /// </summary>
49  ASPOSE_TASKS_SHARED_API const System::SharedPtr<YearlyRepetitionBase>& get_Repetition() const;
50  /// <summary>
51  /// Sets the recurring position pattern.
52  /// </summary>
53  ASPOSE_TASKS_SHARED_API void set_Repetition(const System::SharedPtr<YearlyRepetitionBase>& value);
54 
55  /// <summary>
56  /// Initializes a new instance of the <see cref="YearlyRecurrencePattern"></see> class.
57  /// </summary>
58  // ReSharper disable once EmptyConstructor
59  ASPOSE_TASKS_SHARED_API YearlyRecurrencePattern();
60 
61 protected:
62 
63  /// <summary>
64  /// Returns a calculator which calculates start/finish dates by appropriate algorithm.
65  /// </summary>
66  /// <param name="calendar">The calendar internal.</param>
67  /// <param name="duration">The duration between start and finish dates.</param>
68  /// <returns>Returns the instance of the validator.</returns>
69  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetCalculatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar, Aspose::Tasks::Duration duration) override;
70  /// <summary>
71  /// Returns a validator which check a date as valid against the recurrence pattern conditions.
72  /// </summary>
73  /// <returns>
74  /// Returns the instance of the validator.
75  /// </returns>
76  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
77  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::Calendar> GetCalendarOrDefault(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
78  #ifdef ASPOSE_GET_SHARED_MEMBERS
79  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
80  #endif
81 
82 
83 private:
84 
85  System::SharedPtr<YearlyRepetitionBase> pr_Repetition;
86 
87 };
88 
89 } // namespace Tasks
90 } // namespace Aspose
91 
92 
Represents duration in a project.
Definition: Duration.h:163
Represents the base class of recurrence pattern.
Definition: RecurrencePatternBase.h:40
Represents the set of parameters are used to create a yearly recurring task in a project.
Definition: YearlyRecurrencePattern.h:37
void set_Repetition(const System::SharedPtr< YearlyRepetitionBase > &value)
Sets the recurring position pattern.
const System::SharedPtr< YearlyRepetitionBase > & get_Repetition() const
Gets the recurring position pattern.
YearlyRecurrencePattern()
Initializes a new instance of the YearlyRecurrencePattern class.
Definition: Asn.h:13