Aspose.Tasks for C++
WeeklyRecurrencePattern.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="WeeklyRecurrencePattern.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 WeeklyRepetitionBase;
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 weekly recurring task in a project.
35 /// </summary>
36 class ASPOSE_TASKS_SHARED_CLASS WeeklyRecurrencePattern : 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 repetition pattern.
48  /// </summary>
49  ASPOSE_TASKS_SHARED_API const System::SharedPtr<WeeklyRepetitionBase>& get_Repetition() const;
50  /// <summary>
51  /// Sets the recurring repetition pattern.
52  /// </summary>
53  ASPOSE_TASKS_SHARED_API void set_Repetition(const System::SharedPtr<WeeklyRepetitionBase>& value);
54 
55  /// <summary>
56  /// Initializes a new instance of the <see cref="WeeklyRecurrencePattern"></see> class.
57  /// </summary>
58  ASPOSE_TASKS_SHARED_API WeeklyRecurrencePattern();
59 
60 protected:
61 
62  /// <summary>
63  /// Returns a validator which check a date as valid against the recurrence pattern conditions.
64  /// </summary>
65  /// <returns>
66  /// Returns the instance of the validator.
67  /// </returns>
68  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
69  /// <summary>
70  /// Returns a calculator which calculates start/finish dates by appropriate algorithm.
71  /// </summary>
72  /// <param name="calendar">The calendar.</param>
73  /// <param name="duration">The duration between start and finish dates.</param>
74  /// <returns>Returns the instance of the validator.</returns>
75  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetCalculatorInternal(System::SharedPtr<Aspose::Tasks::Calendar> calendar, Aspose::Tasks::Duration duration) override;
76  ASPOSE_TASKS_SHARED_API System::SharedPtr<Aspose::Tasks::Calendar> GetCalendarOrDefault(System::SharedPtr<Aspose::Tasks::Calendar> calendar) override;
77  #ifdef ASPOSE_GET_SHARED_MEMBERS
78  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
79  #endif
80 
81 
82 private:
83 
84  System::SharedPtr<WeeklyRepetitionBase> pr_Repetition;
85 
86 };
87 
88 } // namespace Tasks
89 } // namespace Aspose
90 
91 
Represents duration in a project.
Definition: Duration.h:161
Represents the base class of recurrence pattern.
Definition: RecurrencePatternBase.h:40
Represents the set of parameters are used to create a weekly recurring task in a project.
Definition: WeeklyRecurrencePattern.h:37
void set_Repetition(const System::SharedPtr< WeeklyRepetitionBase > &value)
Sets the recurring repetition pattern.
WeeklyRecurrencePattern()
Initializes a new instance of the WeeklyRecurrencePattern class.
const System::SharedPtr< WeeklyRepetitionBase > & get_Repetition() const
Gets the recurring repetition pattern.
Definition: Asn.h:13