1.1 --- a/epoc32/include/cntfilt.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,214 +0,0 @@
1.4 -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -//
1.18 -
1.19 -#ifndef __CNTFILT_H__
1.20 -#define __CNTFILT_H__
1.21 -
1.22 -#include <e32base.h>
1.23 -
1.24 -#if !( defined __SYMBIAN_CNTMODEL_HIDE_DBMS__ && defined __SYMBIAN_CNTMODEL_USE_SQLITE__ )
1.25 -#include <d32dbms.h>
1.26 -#endif
1.27 -
1.28 -#include <cntdb.h>
1.29 -
1.30 -class CCntFilter : public CBase
1.31 -/** A contact database filter.
1.32 -
1.33 -This is used to get a subset of the items in a contact database.
1.34 -There are three criteria used when filtering a database:
1.35 -
1.36 -- the contact item's state
1.37 -
1.38 -- the date/time the contact item was created/last modified/deleted
1.39 -
1.40 -- the contact item's type
1.41 -
1.42 -The state can be one of: deleted, modified or created (since
1.43 -a specified date/time). The filter can be set to include contact items of
1.44 -only one state, or it can be set to include contact items of all states, using
1.45 -the TInclude enumeration.
1.46 -
1.47 -The date/time value is used in combination with the contact item's state.
1.48 -
1.49 -The contact item's type is one of contact card, contact card group, contact
1.50 -card template, or own card. Any combination of contact types may be specified
1.51 -in the filter, in addition to the contact item's state.
1.52 -
1.53 -After the filter has been set up, it should be passed to the function
1.54 -CContactDatabase::FilterDatabaseL().
1.55 -@publishedAll
1.56 -@released
1.57 -*/
1.58 - {
1.59 - friend class CPackagerTests; //Comparison test
1.60 -public:
1.61 - /** Flags to identify which contact items should be included in the filter.
1.62 -
1.63 - Only one of the following values can be set in the filter at a time. However
1.64 - the client may select to filter contacts in all states using EIncludeAllContacts. */
1.65 - enum TInclude
1.66 - {
1.67 - /** Contact items in all states should be included. */
1.68 - EIncludeAllContacts,
1.69 - /** Only contact items which have been added since the date/time should be included. */
1.70 - EIncludeNewContacts,
1.71 - /** Only contact items which have been modified since the date/time should be included. */
1.72 - EIncludeModifiedContacts,
1.73 - /** Only contact items which have been deleted since the date/time should be included. */
1.74 - EIncludeDeletedContacts
1.75 - };
1.76 - /** Contact item types.*/
1.77 - enum TContactType
1.78 - {
1.79 - /** All contact item types should be included. */
1.80 - EIncludeAllTypes = 0x01,
1.81 - /** Contact cards should be included in the filter. */
1.82 - EContactCards = 0x02,
1.83 - /** Contact card groups should be included in the filter. */
1.84 - EContactGroups = 0x04,
1.85 - /** Contact card templates should be included in the filter. */
1.86 - EContactTemplates = 0x08,
1.87 - /** Own cards should be included in the filter. */
1.88 - EContactOwnCard = 0x10
1.89 - };
1.90 -
1.91 - IMPORT_C static CCntFilter* NewL();
1.92 - IMPORT_C static CCntFilter* NewLC();
1.93 - IMPORT_C static CCntFilter* NewL(const CCntFilter* aFilter);
1.94 - IMPORT_C static CCntFilter* NewLC(const CCntFilter* aFilter);
1.95 - static CCntFilter* NewLC(RReadStream& aStream);
1.96 - IMPORT_C ~CCntFilter();
1.97 -public:
1.98 - /** A pointer to an array which stores the filtered list of contact IDs. */
1.99 - CContactIdArray* iIds;
1.100 -//
1.101 - IMPORT_C void SetIncludeModifiedContacts(TBool aIncludeModified);
1.102 - IMPORT_C void SetIncludeNewContacts(TBool aIncludeNew);
1.103 - IMPORT_C void SetIncludeDeletedContacts(TBool aIncludeDeleted);
1.104 -//
1.105 - IMPORT_C TBool TestContactFilterType(TUid aTypeUid);
1.106 - IMPORT_C void SetContactFilterTypeALL(TBool aFilterAllContacts);
1.107 - IMPORT_C void SetContactFilterTypeCard(TBool aFilterCards);
1.108 - IMPORT_C void SetContactFilterTypeGroup(TBool aFilterGroups);
1.109 - IMPORT_C void SetContactFilterTypeTemplate(TBool aFilterTemplates);
1.110 - IMPORT_C void SetContactFilterTypeOwnCard(TBool aFilterOwnCard);
1.111 - void ExternalizeL(RWriteStream& aStream) const;
1.112 - void InternalizeL(RReadStream& aStream);
1.113 -//
1.114 - inline TBool ContactFilterTypeALL() const;
1.115 - inline TBool ContactFilterTypeCard() const;
1.116 - inline TBool ContactFilterTypeGroup() const;
1.117 - inline TBool ContactFilterTypeOwnCard() const;
1.118 - inline TBool ContactFilterTypeTemplate() const;
1.119 -//
1.120 - inline TBool IncludeModifiedContacts();
1.121 - inline TBool IncludeNewContacts();
1.122 - inline TBool IncludeDeletedContacts();
1.123 -//
1.124 - inline TTime GetFilterDateTime();
1.125 - inline void SetFilterDateTime(TTime aTime);
1.126 -//
1.127 - IMPORT_C void Reset();
1.128 -//
1.129 -/**
1.130 - Intended usage: Reserved to preserve future BC */
1.131 - IMPORT_C void Reserved1();
1.132 -/**
1.133 - Intended usage: Reserved to preserve future BC */
1.134 - IMPORT_C void Reserved2();
1.135 -
1.136 -private:
1.137 - TTime iSinceDateTime;
1.138 - TInclude iInclude;
1.139 - TInt32 iContactType;
1.140 - TAny* iReserved1;
1.141 - TAny* iReserved2;
1.142 - CCntFilter();
1.143 - CCntFilter(const CCntFilter* aFilter);
1.144 - };
1.145 -
1.146 -
1.147 -inline TBool CCntFilter::IncludeModifiedContacts()
1.148 -/** Tests whether the filter includes only contacts modified since the filter's
1.149 -date/time.
1.150 -
1.151 -@return ETrue if the filter only includes modified contacts. EFalse if not. */
1.152 - {return iInclude == EIncludeModifiedContacts;};
1.153 -
1.154 -inline TBool CCntFilter::IncludeNewContacts()
1.155 -/** Tests whether the filter includes only contacts created since the filter's
1.156 -date/time.
1.157 -
1.158 -@return ETrue if the filter only includes new contacts. EFalse if not. */
1.159 - {return iInclude == EIncludeNewContacts;};
1.160 -
1.161 -inline TBool CCntFilter::IncludeDeletedContacts()
1.162 -/** Tests whether the filter includes only contacts deleted since the filter's
1.163 -date/time.
1.164 -
1.165 -@return ETrue if the filter only includes deleted contacts. EFalse if not. */
1.166 - {return iInclude == EIncludeDeletedContacts;};
1.167 -
1.168 -inline TTime CCntFilter::GetFilterDateTime()
1.169 -/** Gets the date and time used by the filter, as set by SetFilterDateTime().
1.170 -
1.171 -@return The filter's date and time value. */
1.172 - {return iSinceDateTime;};
1.173 -
1.174 -inline void CCntFilter::SetFilterDateTime(TTime aTime)
1.175 -/** Sets the date and time used by the filter in combination with the TInclude
1.176 -value to test contact items against.
1.177 -
1.178 -@param aTime The new date and time value. */
1.179 - {iSinceDateTime = aTime;};
1.180 -
1.181 -// CONTACT TYPE
1.182 -inline TBool CCntFilter::ContactFilterTypeALL() const
1.183 -/** Tests whether all contact item types are included in the filter, as set by
1.184 -SetContactFilterTypeALL().
1.185 -
1.186 -@return ETrue if all contact item types are included in the filter, EFalse
1.187 -if not. */
1.188 - {return iContactType & EIncludeAllTypes;}
1.189 -
1.190 -inline TBool CCntFilter::ContactFilterTypeCard() const
1.191 -/** Tests whether contact cards are included in the filter, as set by SetContactFilterTypeCard().
1.192 -
1.193 -@return ETrue if contact cards are included in the filter, EFalse if not. */
1.194 - {return iContactType & EContactCards;}
1.195 -
1.196 -inline TBool CCntFilter::ContactFilterTypeGroup() const
1.197 -/** Tests whether contact card groups are included in the filter, as set by SetContactFilterTypeGroup().
1.198 -
1.199 -@return ETrue if contact card groups are included in the filter, EFalse if
1.200 -not. */
1.201 - {return iContactType & EContactGroups;}
1.202 -
1.203 -inline TBool CCntFilter::ContactFilterTypeOwnCard() const
1.204 -/** Tests whether own cards are included in the filter, as set by SetContactFilterTypeOwnCard().
1.205 -
1.206 -@return ETrue if own cards are included in the filter, EFalse if not. */
1.207 - {return iContactType & EContactOwnCard;}
1.208 -
1.209 -inline TBool CCntFilter::ContactFilterTypeTemplate() const
1.210 -/** Tests whether contact card templates are included in the filter, as set by
1.211 -SetContactFilterTypeTemplate().
1.212 -
1.213 -@return ETrue if contact card templates are included in the filter, EFalse
1.214 -if not. */
1.215 - {return iContactType & EContactTemplates;}
1.216 -
1.217 -#endif