You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
566 lines
23 KiB
C++
566 lines
23 KiB
C++
// XTPCalendarRemindersManager.h: interface for the
|
|
// CXTPCalendarRemindersManager class.
|
|
//
|
|
// This file is a part of the XTREME CALENDAR MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(_XTP_CALENDAR_REMINDERS_MANAGER_H__)
|
|
#define _XTP_CALENDAR_REMINDERS_MANAGER_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
//////////////////////
|
|
class CXTPCalendarData;
|
|
class CXTPCalendarResources;
|
|
class CXTPCalendarResourcesNf;
|
|
class CXTPCalendarRemindersManager;
|
|
class CXTPNotifyConnection;
|
|
class CXTPCalendarEvent;
|
|
class CXTPCalendarEvents;
|
|
class CXTPNotifySink;
|
|
|
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarEvent)
|
|
XTP_DEFINE_SMART_PTR_INTERNAL(CXTPCalendarEvents)
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// This class describes a reminder for calendar event and implements base
|
|
// properties and operations on reminder.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPCalendarReminder : public CXTPCmdTarget
|
|
{
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_DYNAMIC(CXTPCalendarReminder)
|
|
|
|
friend class CXTPCalendarRemindersManager;
|
|
friend class CXTPCalendarReminders;
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default object constructor.
|
|
// Parameters:
|
|
// pOwnerMan - A pointer to the reminders manager which own this object.
|
|
// See Also: ~CXTPCalendarReminder()
|
|
//-----------------------------------------------------------------------
|
|
CXTPCalendarReminder(CXTPCalendarRemindersManager* pOwnerMan = NULL);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default class destructor.
|
|
// Remarks:
|
|
// Handles member items deallocation.
|
|
// See Also: CXTPCalendarReminder()
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPCalendarReminder();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieve calendar event for which this reminder is related.
|
|
// Returns:
|
|
// A pointer to calendar event object.
|
|
//-----------------------------------------------------------------------
|
|
virtual CXTPCalendarEventPtr GetEvent()const ;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve date and time when reminder
|
|
// is scheduled to be activated.
|
|
// Remarks:
|
|
// This value for non snoozed event is:
|
|
// EventStartTime - MinutesBeforeStart.
|
|
// For snoozed event this value is set when Snooze() method is called.
|
|
// Returns:
|
|
// Reminder activation date and time.
|
|
// See Also: GetMinutesBeforeStart, Snooze, GetEvent.
|
|
//-----------------------------------------------------------------------
|
|
virtual COleDateTime GetNextReminderTime()const ;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine the number of minutes
|
|
// before the start of an event.
|
|
// Returns:
|
|
// An int that contains the number of Minutes before the start of
|
|
// an event.
|
|
// See Also: CXTPCalendarEvent::GetReminderMinutesBeforeStart, GetEvent.
|
|
//-----------------------------------------------------------------------
|
|
virtual int GetMinutesBeforeStart()const ;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to Snooze active reminder.
|
|
// Parameters:
|
|
// nMinutesAfterNow - A value in minutes to activate reminder again.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// Dismiss, GetNextReminderTime, GetEvent,
|
|
// CXTPCalendarRemindersManager::Snooze
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Snooze(int nMinutesAfterNow);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to Dismiss active reminder.
|
|
// Remarks:
|
|
// Reminder flag for corresponding event object is set to FALSE.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// Snooze, GetEvent, CXTPCalendarRemindersManager::Dismiss
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Dismiss();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine are reminders objects have
|
|
// equal IDs (or are they represent the same reminder).
|
|
// Parameters:
|
|
// pReminder2 - A pointer to reminder object to compare.
|
|
// Returns:
|
|
// TRUE if reminders objects have equal IDs, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL IsEqualID(const CXTPCalendarReminder* pReminder2) const;
|
|
|
|
protected:
|
|
COleDateTime m_dtNextReminderTime; // Store reminder activation date and time.
|
|
int m_nMinutesBeforeStart; // Store minutes before start event to activate reminder.
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Set calendar event for which this reminder is related.
|
|
// Parameters:
|
|
// pEvent - A pointer to calendar event.
|
|
// See Also: GetEvent
|
|
//-----------------------------------------------------------------------
|
|
virtual void SetEvent(CXTPCalendarEvent* pEvent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This enum define the event type: recurrence or non-recurrence.
|
|
//-----------------------------------------------------------------------
|
|
enum EventType {
|
|
evtNormal = 1, // event type is recurrence.
|
|
evtRecurrence = 2, // event type is non-recurrence.
|
|
};
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This structure contains data members to unambiguously define related
|
|
// recurrence event occurrence.
|
|
// See Also: EventType
|
|
//-----------------------------------------------------------------------
|
|
struct RecurrenceEventInfo
|
|
{
|
|
DWORD m_dwMasterEventID; // Recurrence master event ID.
|
|
DATE m_dtOccurrenceStartTime; // Recurrence occurrence start time or recurrence exception original start time.
|
|
DATE m_dtOccurrenceEndTime; // Recurrence occurrence end time or recurrence exception original end time.
|
|
};
|
|
|
|
COleDateTime m_dtEventStartTime; // Store related event start time.
|
|
CXTPCalendarData* m_pEventDataProvider; // Store related event data provider.
|
|
|
|
EventType m_eEventType; // Define related event type: recurrence or non-recurrence.
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This union contains data members to unambiguously define related
|
|
// event.
|
|
// See Also: RecurrenceEventInfo, m_eEventType
|
|
//-----------------------------------------------------------------------
|
|
union {
|
|
DWORD m_dwNormalEventID; // Non-recurrence event ID.
|
|
RecurrenceEventInfo m_RecurrenceEventInfo; // Recurrence event information (instead of ID).
|
|
};
|
|
|
|
private:
|
|
CXTPCalendarRemindersManager* m_pOwnerMan;
|
|
|
|
protected:
|
|
};
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// This class represents a simple array collection of CXTPCalendarReminder
|
|
// objects.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPCalendarReminders : public CXTPCalendarPtrCollectionT<CXTPCalendarReminder>
|
|
{
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Finds a specified reminder object in the collection.
|
|
// Remarks:
|
|
// CXTPCalendarReminder::IsEqualID method is used to compare reminders.
|
|
// Parameters:
|
|
// pReminder - A pointer to reminder object to find.
|
|
// Returns:
|
|
// Index of the equal reminder object in the collection or -1 if such
|
|
// object is not present.
|
|
// See Also: Find@CXTPCalendarEvent
|
|
//-----------------------------------------------------------------------
|
|
virtual int Find(const CXTPCalendarReminder* pReminder) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Finds a reminder object in the collection which is related to
|
|
// the event specified.
|
|
// Parameters:
|
|
// pEvent - A pointer to event.
|
|
// Returns:
|
|
// Index of the related reminder object in the collection or
|
|
// -1 if such object is not present.
|
|
// See Also: Find@CXTPCalendarReminder
|
|
//-----------------------------------------------------------------------
|
|
virtual int Find(CXTPCalendarEvent* pEvent) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Finds a reminder object in the collection which is related to
|
|
// the specified event ID.
|
|
// Parameters:
|
|
// dwEventID - Event ID of normal event or Master event.
|
|
// pDP - A pointer to event data provider.
|
|
// Returns:
|
|
// Index of the related reminder object in the collection or
|
|
// -1 if such object is not present.
|
|
// See Also: Find@CXTPCalendarReminder, Find@CXTPCalendarEvent
|
|
//-----------------------------------------------------------------------
|
|
virtual int Find(DWORD dwEventID, CXTPCalendarData* pDP = NULL) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Try to find and remove reminder object which is related to
|
|
// the event specified.
|
|
// Parameters:
|
|
// pEvent - A pointer to event.
|
|
// Returns:
|
|
// TRUE if the related reminder object is removed from the collection,
|
|
// FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL RemoveDataForEvent(CXTPCalendarEvent* pEvent);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Sort reminders by the event start time field.
|
|
//-----------------------------------------------------------------------
|
|
virtual void Sort();
|
|
protected:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Try to find and remove reminder(s) object(s) which are related to
|
|
// the recurrence master event specified.
|
|
// Parameters:
|
|
// pEvent - A pointer to master event.
|
|
// Returns:
|
|
// TRUE if the related reminder(s) object(s) was removed from
|
|
// the collection, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL _RemoveDataForMasterEvent(CXTPCalendarEvent* pEvent);
|
|
};
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// This class is used to monitor and manage calendar events reminders.
|
|
// It will send notifications when active reminders list
|
|
// is changed - new reminder(s) come or some reminder(s) goes away.
|
|
// Remarks:
|
|
// When Reminder manager starts it check all events which have Reminder
|
|
// flag set.
|
|
// Reminder for event is added to active reminders list when:
|
|
// Event->StartTime - Event->ReminderMinutesBeforeStart \<= Now
|
|
//
|
|
// There are 2 actions with reminder:
|
|
// Dismiss - reset Reminder flag for the event and remove reminder.
|
|
// Reminder never comes back;
|
|
//
|
|
// Snooze - set new NextReminderTime value and remove reminder.
|
|
// Reminder will come back when NextReminderTime \<= Now.
|
|
//
|
|
// Some Reminder manager data stored in CalendarEvent custom properties
|
|
// (or RecurrencePattern custom properties) - this means if own events
|
|
// storage is used you have to save/load custom properties too.
|
|
//
|
|
// StartMonitoring/StopMonitoring are used to start/stop reminders manager.
|
|
// These methods are called by the calendar control automatically when
|
|
// CXTPCalendarControl::EnableReminders() method is called.
|
|
//
|
|
// GetActiveReminders is used to retrieve collection of active reminders.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPCalendarRemindersManager : public CWnd
|
|
{
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_DYNAMIC(CXTPCalendarRemindersManager)
|
|
|
|
friend class CXTPCalendarReminder;
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default object constructor.
|
|
// See Also: ~CXTPCalendarRemindersManager()
|
|
//-----------------------------------------------------------------------
|
|
CXTPCalendarRemindersManager();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Default object destructor.
|
|
// See Also: CXTPCalendarRemindersManager()
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPCalendarRemindersManager();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to retrieve reminders count in the active
|
|
// reminders collection.
|
|
// Remarks:
|
|
// Can be useful to quick determine is active reminders collection
|
|
// empty without copy collection.
|
|
// Returns:
|
|
// Active reminders count.
|
|
// See Also:
|
|
// GetActiveReminders
|
|
//-----------------------------------------------------------------------
|
|
virtual int GetActiveRemindersCount()const ;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to retrieve active reminders collection.
|
|
// Parameters:
|
|
// rarActiveReminders - A reference to an array to retrieve active
|
|
// reminders.
|
|
// See Also:
|
|
// GetActiveRemindersCount
|
|
//-----------------------------------------------------------------------
|
|
virtual void GetActiveReminders(CXTPCalendarReminders& rarActiveReminders) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to Snooze specified reminder.
|
|
// Parameters:
|
|
// pReminder - A pointer to reminder object
|
|
// nMinutesAfterNow - A value in minutes to activate reminder again.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// Dismiss, CXTPCalendarReminder::Snooze, CXTPCalendarReminder::Dismiss,
|
|
// CXTPCalendarReminder::GetNextReminderTime
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Snooze(CXTPCalendarReminder* pReminder, int nMinutesAfterNow);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to Dismiss specified reminder.
|
|
// Remarks:
|
|
// Reminder flag for corresponding event object is set to FALSE.
|
|
// Parameters:
|
|
// pReminder - A pointer to reminder object
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// Snooze, CXTPCalendarReminder::Snooze, CXTPCalendarReminder::Dismiss
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Dismiss(CXTPCalendarReminder* pReminder);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to Dismiss all active reminders.
|
|
// Remarks:
|
|
// Reminder flag for each event object is set to FALSE.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// Snooze, Dismiss, CXTPCalendarReminder::Snooze, CXTPCalendarReminder::Dismiss
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL DismissAll();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Obtain a pointer to the notification connection object.
|
|
// Remarks:
|
|
// Used to subscribe (Advice) for notification events from the
|
|
// reminders manager.
|
|
// Returns:
|
|
// Connection object pointer.
|
|
// See Also:
|
|
// CXTPNotifyConnection overview, IXTPNotificationSink overview
|
|
//-----------------------------------------------------------------------
|
|
CXTPNotifyConnection* GetConnection()const ;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to attach to calendar resources (data provider)
|
|
// and start reminders monitoring.
|
|
// Parameters:
|
|
// pResources - A pointer to calendar resources collection.
|
|
// spPeriod2Cache - A time period for which reminder manager will read
|
|
// reminders from calendar resources (data provider).
|
|
// Remarks:
|
|
// To retrieve reminders CXTPCalendarData::GetUpcomingEvents() method
|
|
// is used. This can be a slow operation and using spPeriod2Cache
|
|
// parameter value we can control how often this method will be called.
|
|
//
|
|
// For example calendar control use spPeriod2Cache = 2 hours by default.
|
|
// This means than GetUpcomingEvents will be called only once per 2 hours.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// StopMonitoring
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL StartMonitoring(CXTPCalendarResources* pResources, COleDateTimeSpan spPeriod2Cache);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to detach from calendar resources (data provider)
|
|
// and and clear all reminders in reminders manager.
|
|
// Returns:
|
|
// TRUE if operation is successful, FALSE otherwise.
|
|
// See Also:
|
|
// StartMonitoring
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL StopMonitoring();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to determine is StartMonitoring was successfully
|
|
// called and reminders manager monitoring reminders.
|
|
// Returns:
|
|
// TRUE if reminders manager active (started/running), FALSE otherwise.
|
|
// See Also:
|
|
// StartMonitoring, StopMonitoring
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL IsMonitoringRunning() const;
|
|
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is used to send XTP_NC_CALENDAR_ON_REMINDERS notification
|
|
// via connection object.
|
|
// Parameters:
|
|
// eAction - A reminders action. Value from enum XTPCalendarRemindersAction.
|
|
// lParam - Reserved. Set to 0.
|
|
// See Also:
|
|
// XTP_NC_CALENDAR_ON_REMINDERS, XTPCalendarRemindersAction.
|
|
//-----------------------------------------------------------------------
|
|
virtual void NotifyReminders(int eAction, LPARAM lParam = 0);
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Summary:
|
|
// Schedule to call NotifyReminders(xtpCalendarRemindersFire) in 500 ms.
|
|
// See Also:
|
|
// NotifyReminders, XTP_NC_CALENDAR_ON_REMINDERS, XTPCalendarRemindersAction.
|
|
//-------------------------------------------------------------------------
|
|
virtual void PostNotify_RemindersFire();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method clear all reminders in reminders manager collections.
|
|
// See Also:
|
|
// StopMonitoring
|
|
//-----------------------------------------------------------------------
|
|
virtual void RemoveAll();
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
CXTPNotifySink* m_pSink;
|
|
|
|
afx_msg void OnTimeChange();
|
|
afx_msg void OnTimer(UINT_PTR uTimerID);
|
|
|
|
virtual BOOL _Dismiss(CXTPCalendarReminder* pReminder);
|
|
|
|
virtual BOOL UpdateDataFromDP(COleDateTime dtFrom, COleDateTimeSpan spPeriod);
|
|
virtual BOOL GetUpcomingEventsAll(COleDateTime dtFrom, COleDateTimeSpan spPeriod, CXTPCalendarEventsPtr& rptrEvents);
|
|
|
|
virtual BOOL ProcessActiveReminders(COleDateTime dtTime);
|
|
|
|
|
|
virtual void OnEventChanged(XTP_NOTIFY_CODE Event, WPARAM wParam , LPARAM lParam);
|
|
virtual BOOL ProcessNewEvent(CXTPCalendarEvent* pEvent, COleDateTime dtFrom, COleDateTimeSpan spPeriod);
|
|
virtual BOOL ProcessChangedEvent(CXTPCalendarEvent* pEvent);
|
|
virtual BOOL _ProcessNewSingleEvent(CXTPCalendarEvent* pEvent, COleDateTime dtFrom, COleDateTimeSpan spPeriod);
|
|
virtual BOOL _ProcessNewMasterEvent(CXTPCalendarEvent* pEvent, COleDateTime dtFrom, COleDateTimeSpan spPeriod);
|
|
virtual BOOL _GetMaxExceptionReminder(CXTPCalendarRecurrencePattern* pPattern,int& rnMinutes);
|
|
|
|
virtual BOOL _RemoveSnoozeData(CXTPCalendarReminder* pRmd);
|
|
|
|
virtual BOOL _CreateWnd();
|
|
virtual void OnFinalRelease();
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_MESSAGE_MAP()
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
CXTPNotifyConnection* m_pConnection; // A pointer to the notification connection object.
|
|
|
|
CXTPCalendarResourcesNf* m_pResourcesNf; // A collection of calendar resources to be monitored.
|
|
COleDateTimeSpan m_spPeriod2Cache; // Time period to cache data from the calendar resources.
|
|
|
|
COleDateTime m_dtLastUpdateTime; // Store last time when reminders data was loaded from the calendar resources.
|
|
|
|
CXTPCalendarReminders m_arWaitingReminders; // Waiting reminders collection.
|
|
CXTPCalendarReminders m_arActiveReminders; // Active reminders collection.
|
|
|
|
BOOL m_bMonitoringRunning; // Flag indicate that reminders manager is started;
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
BOOL m_bSkipOnEventChanged;
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
protected:
|
|
|
|
};
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
AFX_INLINE COleDateTime CXTPCalendarReminder::GetNextReminderTime() const {
|
|
return m_dtNextReminderTime;
|
|
}
|
|
AFX_INLINE int CXTPCalendarReminder::GetMinutesBeforeStart() const {
|
|
return m_nMinutesBeforeStart;
|
|
}
|
|
AFX_INLINE BOOL CXTPCalendarReminder::Snooze(int nMinutesAfterNow) {
|
|
ASSERT(m_pOwnerMan);
|
|
return m_pOwnerMan ? m_pOwnerMan->Snooze(this, nMinutesAfterNow) : FALSE;
|
|
}
|
|
AFX_INLINE BOOL CXTPCalendarReminder::Dismiss() {
|
|
ASSERT(m_pOwnerMan);
|
|
return m_pOwnerMan ? m_pOwnerMan->Dismiss(this) : FALSE;
|
|
}
|
|
|
|
//===========================================================================
|
|
AFX_INLINE CXTPNotifyConnection* CXTPCalendarRemindersManager::GetConnection()const {
|
|
return m_pConnection;
|
|
}
|
|
|
|
AFX_INLINE BOOL CXTPCalendarRemindersManager::IsMonitoringRunning() const {
|
|
return m_bMonitoringRunning;
|
|
}
|
|
|
|
#endif // !defined(_XTP_CALENDAR_REMINDERS_MANAGER_H__)
|