epoc32/include/apmfndr.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// 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
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
#if !defined (__APMFNDR_H__)
williamr@2
    17
#define __APMFNDR_H__
williamr@2
    18
williamr@2
    19
#if !defined(__E32BASE_H__)
williamr@2
    20
#include <e32base.h>
williamr@2
    21
#endif
williamr@2
    22
#if !defined(__F32FILE_H__)
williamr@2
    23
#include <f32file.h>
williamr@2
    24
#endif
williamr@2
    25
#if !defined(__APMREC_H__)
williamr@2
    26
#include <apmrec.h>
williamr@2
    27
#endif
williamr@2
    28
williamr@2
    29
#include <babackup.h>
williamr@2
    30
williamr@2
    31
/**
williamr@2
    32
@internalComponent
williamr@2
    33
*/
williamr@2
    34
williamr@2
    35
// classes defined
williamr@2
    36
class CApaRecognizerDll;
williamr@2
    37
williamr@2
    38
williamr@2
    39
class CApaScanningDataRecognizer : public CApaDataRecognizer
williamr@2
    40
/**
williamr@2
    41
@publishedPartner 
williamr@2
    42
@released 
williamr@2
    43
*/
williamr@2
    44
	{
williamr@2
    45
public:
williamr@2
    46
	class TRecognizer
williamr@2
    47
		{
williamr@2
    48
	friend class CApaRecognizerDll;
williamr@2
    49
	friend class CT_MimeStep;
williamr@2
    50
	public:
williamr@2
    51
		TRecognizer(HBufC* aName);
williamr@2
    52
		inline const TDesC& Name() const;
williamr@2
    53
	public:
williamr@2
    54
		TUid iUid;
williamr@2
    55
		TInt iDrive;
williamr@2
    56
		TTime iModified;
williamr@2
    57
	private:
williamr@2
    58
		inline TRecognizer();
williamr@2
    59
		TRecognizer(const TRecognizer&);
williamr@2
    60
		TRecognizer operator=(const TRecognizer&);
williamr@2
    61
	private:
williamr@2
    62
		HBufC* iName;
williamr@2
    63
		};
williamr@2
    64
	typedef CArrayFixFlat<TRecognizer> CRecognizerArray;
williamr@2
    65
williamr@2
    66
private:
williamr@2
    67
	class CApaBackupOperationObserver : public CBase, public MBackupOperationObserver
williamr@2
    68
		{
williamr@2
    69
	public:
williamr@2
    70
		CApaBackupOperationObserver(CApaScanningDataRecognizer& aRecognizer);
williamr@2
    71
		~CApaBackupOperationObserver();
williamr@2
    72
		void RegisterObserverL();
williamr@2
    73
williamr@2
    74
		virtual void HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes);
williamr@2
    75
		TInt UpdateCounter() const;
williamr@2
    76
		void SetUpdateCounter( TInt aValue );
williamr@2
    77
	private:
williamr@2
    78
		CBaBackupSessionWrapper* iSession;
williamr@2
    79
		CApaScanningDataRecognizer& iRecognizer;
williamr@2
    80
		TInt iUpdateCounter;
williamr@2
    81
		};
williamr@2
    82
	friend class CApaScanningDataRecognizer::CApaBackupOperationObserver;
williamr@2
    83
williamr@2
    84
	class CApaScanningDataRecognizerExtra : public CBase
williamr@2
    85
		{
williamr@2
    86
	private:
williamr@2
    87
		CApaBackupOperationObserver* iObserver;
williamr@2
    88
		TBool iRecognizersLoaded;
williamr@2
    89
		friend class CApaScanningDataRecognizer;
williamr@2
    90
		friend class CApaBackupOperationObserver;
williamr@2
    91
		};
williamr@2
    92
williamr@2
    93
	//
williamr@2
    94
public:
williamr@2
    95
	IMPORT_C static CApaScanningDataRecognizer* NewL(RFs& aFs);
williamr@2
    96
	IMPORT_C static CApaScanningDataRecognizer* NewL(RFs& aFs, TBool aLoadDataRecognizers);
williamr@2
    97
	IMPORT_C ~CApaScanningDataRecognizer();
williamr@2
    98
	IMPORT_C void ScanForRecognizersL();
williamr@2
    99
	IMPORT_C TInt RecognizerCount();
williamr@2
   100
	IMPORT_C CRecognizerArray* RecognizerListLC()const;
williamr@2
   101
	IMPORT_C const TRecognizer& operator[](TInt aIndex)const;
williamr@2
   102
	IMPORT_C TInt UpdateCounter()const;
williamr@2
   103
	IMPORT_C void LoadRecognizersL();
williamr@2
   104
	IMPORT_C void UnloadRecognizers();
williamr@2
   105
williamr@2
   106
protected:
williamr@2
   107
	IMPORT_C CApaScanningDataRecognizer(RFs& aFs);
williamr@2
   108
	IMPORT_C void ConstructL();
williamr@2
   109
private:
williamr@2
   110
	void ConstructL(TBool aLoadDataRecognizers);
williamr@2
   111
	void ScanDriveL(TInt aDriveNum);
williamr@2
   112
	void LoadRecognizerL(const TDesC& aFullName,TUid aUid, const TTime& aTime);
williamr@2
   113
	TInt RemoveRecognizer(CApaRecognizerDll* aDll);
williamr@2
   114
	void LoadEcomRecognizerL(TDriveUnit& aDrive,TUid aUid);
williamr@2
   115
	void ScanForEcomRecognizersL();
williamr@2
   116
public:
williamr@2
   117
	IMPORT_C void SetEcomRecognizersFromListL(const CRecognizerArray& aList);
williamr@2
   118
	IMPORT_C void SetEcomRecognizerL(const TRecognizer& aRecognizer); 
williamr@2
   119
private:
williamr@2
   120
	friend class CApaBackupObserver;
williamr@2
   121
	RPointerArray<CApaRecognizerDll> iRecognizerLib;
williamr@2
   122
	CApaScanningDataRecognizerExtra* iExtra;
williamr@2
   123
	};
williamr@2
   124
williamr@2
   125
williamr@2
   126
class CApaRecognizerDll : public CBase
williamr@2
   127
/**
williamr@2
   128
@internalTechnology
williamr@2
   129
*/
williamr@2
   130
	{
williamr@2
   131
public:
williamr@2
   132
	CApaRecognizerDll(HBufC* aName);
williamr@2
   133
	~CApaRecognizerDll(); // closes lib and deletes next
williamr@2
   134
public:
williamr@2
   135
	enum TPresence { ENotPresent, EIsPresent, ESuperseded };
williamr@2
   136
public:
williamr@2
   137
	RLibrary iLibrary;
williamr@2
   138
	CApaRecognizerDll* iNext;
williamr@2
   139
	CApaScanningDataRecognizer::TRecognizer iId; // cached so that this data can be accessed from other threads (RLibrary cant be used in this case)
williamr@2
   140
	CApaDataRecognizerType* iRec; // not ownership
williamr@2
   141
	TPresence iPresent;
williamr@2
   142
	};
williamr@2
   143
williamr@2
   144
//
williamr@2
   145
// inlines
williamr@2
   146
//
williamr@2
   147
williamr@2
   148
inline const TDesC& CApaScanningDataRecognizer::TRecognizer::Name() const
williamr@2
   149
	{
williamr@2
   150
	return *iName;
williamr@2
   151
	}
williamr@2
   152
williamr@2
   153
inline CApaScanningDataRecognizer::TRecognizer::TRecognizer()
williamr@2
   154
	{
williamr@2
   155
	}
williamr@2
   156
williamr@2
   157
#endif