calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendateutils.h
author hgs
Mon, 28 Jun 2010 15:22:02 +0530
changeset 45 b6db4fd4947b
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:  ?Description
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef __CALENDATEUTILS_H__
hgs
parents:
diff changeset
    19
#define __CALENDATEUTILS_H__
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <e32base.h>
hgs
parents:
diff changeset
    22
#include <qglobal.h>					// Q_DECL_EXPORT macro
hgs
parents:
diff changeset
    23
#ifdef  CALENDATEUTILS_DLL
hgs
parents:
diff changeset
    24
#define CALENDATEUTIL_EXPORT Q_DECL_EXPORT
hgs
parents:
diff changeset
    25
#else
hgs
parents:
diff changeset
    26
#define CALENDATEUTIL_EXPORT Q_DECL_IMPORT
hgs
parents:
diff changeset
    27
#endif
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// forward declarations
hgs
parents:
diff changeset
    30
class QDateTime;
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
/**
hgs
parents:
diff changeset
    33
 *  CalenDateUtils contains static utility functions useful
hgs
parents:
diff changeset
    34
 *  when comparing and calculating with dates and times.
hgs
parents:
diff changeset
    35
 *
hgs
parents:
diff changeset
    36
 *  @lib Calendar.app
hgs
parents:
diff changeset
    37
 *  @since 2.1
hgs
parents:
diff changeset
    38
 */
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
class CalenDateUtils
hgs
parents:
diff changeset
    41
	{
hgs
parents:
diff changeset
    42
public:
hgs
parents:
diff changeset
    43
	static bool onSameDay(const QDateTime& x, const QDateTime& y)
hgs
parents:
diff changeset
    44
		{
hgs
parents:
diff changeset
    45
		Q_UNUSED(x);Q_UNUSED(y);
hgs
parents:
diff changeset
    46
		return false;
hgs
parents:
diff changeset
    47
		}
hgs
parents:
diff changeset
    48
	static bool onSameMonth(const QDateTime& x, const QDateTime& y)
hgs
parents:
diff changeset
    49
		{
hgs
parents:
diff changeset
    50
		Q_UNUSED(x);Q_UNUSED(y);
hgs
parents:
diff changeset
    51
		return false;
hgs
parents:
diff changeset
    52
		}
hgs
parents:
diff changeset
    53
	static QDateTime beginningOfDay(const QDateTime& startTime)
hgs
parents:
diff changeset
    54
		{
hgs
parents:
diff changeset
    55
		Q_UNUSED(startTime);
hgs
parents:
diff changeset
    56
		return QDateTime();
hgs
parents:
diff changeset
    57
		}
hgs
parents:
diff changeset
    58
	static QDateTime displayTimeOnDay(const QDateTime& startTime,
hgs
parents:
diff changeset
    59
			const QDateTime& day)
hgs
parents:
diff changeset
    60
		{
hgs
parents:
diff changeset
    61
		Q_UNUSED(startTime);Q_UNUSED(day);
hgs
parents:
diff changeset
    62
		return QDateTime();
hgs
parents:
diff changeset
    63
		}
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
	static bool timeRangesIntersect(const QDateTime& xStart,
hgs
parents:
diff changeset
    66
			const QDateTime& xEnd, const QDateTime& yStart,
hgs
parents:
diff changeset
    67
			const QDateTime& yEnd)
hgs
parents:
diff changeset
    68
		{
hgs
parents:
diff changeset
    69
		Q_UNUSED(xStart);Q_UNUSED(xEnd);Q_UNUSED(yStart);Q_UNUSED(yEnd);
hgs
parents:
diff changeset
    70
		return false;
hgs
parents:
diff changeset
    71
		}
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
	/**
hgs
parents:
diff changeset
    74
	 * Is aTime between KCalenMaxYear/KCalenMaxMonth/KCalenMaxDay
hgs
parents:
diff changeset
    75
	 * and KCalenMinYear/KCalenMinMonth/KCalenMinDay.
hgs
parents:
diff changeset
    76
	 * Min/Max day is defined agenda server.
hgs
parents:
diff changeset
    77
	 * @param aTime aTime to be checked
hgs
parents:
diff changeset
    78
	 * @return EFalse : Out of range
hgs
parents:
diff changeset
    79
	 */
hgs
parents:
diff changeset
    80
	static bool isValidDay(const QDateTime& time)
hgs
parents:
diff changeset
    81
		{
hgs
parents:
diff changeset
    82
		Q_UNUSED(time);
hgs
parents:
diff changeset
    83
		return false;
hgs
parents:
diff changeset
    84
		}
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
	/**
hgs
parents:
diff changeset
    87
	 * Return Min or Max time if aTime goes out of bounds. 
hgs
parents:
diff changeset
    88
	 * Valid range is [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
hgs
parents:
diff changeset
    89
	 * @param aTime time to be checked
hgs
parents:
diff changeset
    90
	 * @return aTime, if aTime in [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
hgs
parents:
diff changeset
    91
	 *         CalenDateUtils::MinTime(), if aTime < CalenDateUtils::MinTime()
hgs
parents:
diff changeset
    92
	 *         CalenDateUtils::MaxTime(), if aTime > CalenDateUtils::MaxTime()
hgs
parents:
diff changeset
    93
	 */
hgs
parents:
diff changeset
    94
	static QDateTime limitToValidTime(const QDateTime& time)
hgs
parents:
diff changeset
    95
		{
hgs
parents:
diff changeset
    96
		Q_UNUSED(time);
hgs
parents:
diff changeset
    97
		return QDateTime();
hgs
parents:
diff changeset
    98
		}
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
	/**
hgs
parents:
diff changeset
   101
	 * Return maximum allowed time. (31.
hgs
parents:
diff changeset
   102
	 */
hgs
parents:
diff changeset
   103
	static QDateTime maxTime()
hgs
parents:
diff changeset
   104
		{
hgs
parents:
diff changeset
   105
		return QDateTime();
hgs
parents:
diff changeset
   106
		}
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
	/**
hgs
parents:
diff changeset
   109
	 * Return minimum allowed time.
hgs
parents:
diff changeset
   110
	 */
hgs
parents:
diff changeset
   111
	static QDateTime minTime()
hgs
parents:
diff changeset
   112
		{
hgs
parents:
diff changeset
   113
		return QDateTime();
hgs
parents:
diff changeset
   114
		}
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
	/**
hgs
parents:
diff changeset
   117
	 * Return time of day as a minutes from midnight. Useful to get hours::minutes component of datetime, 
hgs
parents:
diff changeset
   118
	 * regardless of date
hgs
parents:
diff changeset
   119
	 */
hgs
parents:
diff changeset
   120
	static int timeOfDay(const QDateTime& dateTime)
hgs
parents:
diff changeset
   121
		{
hgs
parents:
diff changeset
   122
		Q_UNUSED(dateTime);
hgs
parents:
diff changeset
   123
		return 0;
hgs
parents:
diff changeset
   124
		}
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
	/**
hgs
parents:
diff changeset
   127
	 * Round QDateTime to previous full hour, e.g. RoundToPreviousHour( 23.11.2006 9:31 ) = 23.11.2006 9:00
hgs
parents:
diff changeset
   128
	 */
hgs
parents:
diff changeset
   129
	static QDateTime roundToPreviousHour(const QDateTime& dateTime)
hgs
parents:
diff changeset
   130
		{
hgs
parents:
diff changeset
   131
		Q_UNUSED(dateTime);
hgs
parents:
diff changeset
   132
		return QDateTime();
hgs
parents:
diff changeset
   133
		}
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
	/**
hgs
parents:
diff changeset
   136
	 * Round QDateTimeIntervalMinutes to previous full hour, e.g. RoundToPreviousHour( 130 min ) = 120 min
hgs
parents:
diff changeset
   137
	 */
hgs
parents:
diff changeset
   138
	static int roundToPreviousHour(const int& minutes)
hgs
parents:
diff changeset
   139
		{
hgs
parents:
diff changeset
   140
		Q_UNUSED(minutes);
hgs
parents:
diff changeset
   141
		return 0;
hgs
parents:
diff changeset
   142
		}
hgs
parents:
diff changeset
   143
hgs
parents:
diff changeset
   144
	/**
hgs
parents:
diff changeset
   145
	 * @return current time. 
hgs
parents:
diff changeset
   146
	 */
hgs
parents:
diff changeset
   147
	static QDateTime now()
hgs
parents:
diff changeset
   148
		{
hgs
parents:
diff changeset
   149
		return QDateTime();
hgs
parents:
diff changeset
   150
		}
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
	/**
hgs
parents:
diff changeset
   153
	 * @return today with time component set to 00:00. 
hgs
parents:
diff changeset
   154
	 */
hgs
parents:
diff changeset
   155
	static QDateTime today()
hgs
parents:
diff changeset
   156
		{
hgs
parents:
diff changeset
   157
		return QDateTime();
hgs
parents:
diff changeset
   158
		}
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
	/**
hgs
parents:
diff changeset
   161
	 * @return ETrue if given aTime is on today, EFalse otherwise
hgs
parents:
diff changeset
   162
	 */
hgs
parents:
diff changeset
   163
	static bool isOnToday(const QDateTime& time)
hgs
parents:
diff changeset
   164
		{
hgs
parents:
diff changeset
   165
		Q_UNUSED(time);
hgs
parents:
diff changeset
   166
		return false;
hgs
parents:
diff changeset
   167
		}
hgs
parents:
diff changeset
   168
hgs
parents:
diff changeset
   169
	/* 
hgs
parents:
diff changeset
   170
	 * Given aDate = DD::MM::YY @ hh:mm:ss, it returns a QDateTime obj DD::MM::YY @ 08:00 am
hgs
parents:
diff changeset
   171
	 * @param: aDate, which has the DD::MM::YY
hgs
parents:
diff changeset
   172
	 */
hgs
parents:
diff changeset
   173
	static QDateTime defaultTime(const QDateTime& date)
hgs
parents:
diff changeset
   174
		{
hgs
parents:
diff changeset
   175
		Q_UNUSED(date);
hgs
parents:
diff changeset
   176
		return QDateTime();
hgs
parents:
diff changeset
   177
		}
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
	static QDateTime futureOf(const QDateTime& dateTime, int numOfDays)
hgs
parents:
diff changeset
   180
		{
hgs
parents:
diff changeset
   181
		Q_UNUSED(dateTime);Q_UNUSED(numOfDays);
hgs
parents:
diff changeset
   182
		return QDateTime();
hgs
parents:
diff changeset
   183
		}
hgs
parents:
diff changeset
   184
	};
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
#endif // __CALENDATEUTILS_H__
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
// End of File