Aspose.Tasks for C++
WeeklyRepetition.h
1 #pragma once
2 //-----------------------------------------------------------------------
3 // <copyright file="WeeklyRepetition.cs" company="Aspose Pty Ltd">
4 // Copyright (c) 2002-2024 Aspose Pty Ltd. All Rights Reserved.
5 // </copyright>
6 //-----------------------------------------------------------------------
7 
8 #include <system/enum_helpers.h>
9 
10 #include "aspose.tasks.cpp/Recurring/weeks/WeeklyRepetitionBase.h"
11 #include "aspose.tasks.cpp/aspose_tasks_api_defs.h"
12 
13 namespace Aspose
14 {
15 namespace Tasks
16 {
17 class Calendar;
18 class Duration;
19 class RecurrencePatternValidatorBase;
20 namespace Recurring
21 {
22 namespace Calculators
23 {
24 class RecurrenceDateCalculatorBase;
25 } // namespace Calculators
26 } // namespace Recurring
27 enum class WeekdayType;
28 } // namespace Tasks
29 } // namespace Aspose
30 
31 namespace Aspose {
32 
33 namespace Tasks {
34 
35 /// <summary>
36 /// Represents a pattern which is based on weekdays.
37 /// </summary>
38 class ASPOSE_TASKS_SHARED_CLASS WeeklyRepetition : public Aspose::Tasks::WeeklyRepetitionBase
39 {
40  typedef WeeklyRepetition ThisType;
41  typedef Aspose::Tasks::WeeklyRepetitionBase BaseType;
42 
43  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
44  ASPOSE_TASKS_SHARED_RTTI_INFO_DECL();
45 
46 public:
47 
48  /// <summary>
49  /// Gets a type of weekdays.
50  /// </summary>
51  ASPOSE_TASKS_SHARED_API WeekdayType get_WeekDays() const;
52  /// <summary>
53  /// Sets a type of weekdays.
54  /// </summary>
55  ASPOSE_TASKS_SHARED_API void set_WeekDays(WeekdayType value);
56 
57  /// <summary>
58  /// Initializes a new instance of the <see cref="WeeklyRepetition"></see> class.
59  /// </summary>
60  // ReSharper disable once EmptyConstructor
61  ASPOSE_TASKS_SHARED_API WeeklyRepetition();
62 
63 protected:
64 
65  ASPOSE_TASKS_SHARED_API System::SharedPtr<RecurrencePatternValidatorBase> GetValidatorInternal(System::SharedPtr<Calendar> calendar) override;
66  ASPOSE_TASKS_SHARED_API System::SharedPtr<Recurring::Calculators::RecurrenceDateCalculatorBase> GetCalculatorInternal(System::SharedPtr<Calendar> calendar, Duration duration) override;
67  #ifdef ASPOSE_GET_SHARED_MEMBERS
68  ASPOSE_TASKS_SHARED_API void GetSharedMembers(System::Object::shared_members_type& result) const override;
69  #endif
70 
71 
72 private:
73 
74  WeekdayType pr_WeekDays;
75 
76 };
77 
78 } // namespace Tasks
79 } // namespace Aspose
80 
81 
Represents duration in a project.
Definition: Duration.h:163
Represents a base class for repetitions in weekly recurrence pattern.
Definition: WeeklyRepetitionBase.h:40
Represents a pattern which is based on weekdays.
Definition: WeeklyRepetition.h:39
void set_WeekDays(WeekdayType value)
Sets a type of weekdays.
WeekdayType get_WeekDays() const
Gets a type of weekdays.
WeeklyRepetition()
Initializes a new instance of the WeeklyRepetition class.
Definition: Asn.h:13