epoc32/include/apfrec.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(__APFREC_H__)
williamr@2
    17
#define __APFREC_H__
williamr@2
    18
williamr@2
    19
#if !defined(__APADEF_H__)
williamr@2
    20
#include <apadef.h>
williamr@2
    21
#endif
williamr@2
    22
#if !defined(__APAFLREC_H__)
williamr@2
    23
#include <apaflrec.h>
williamr@2
    24
#endif
williamr@2
    25
williamr@2
    26
#include <babackup.h>
williamr@2
    27
williamr@2
    28
// classes defined:
williamr@2
    29
class CApaScanningFileRecognizer;
williamr@2
    30
williamr@2
    31
//
williamr@2
    32
// classes referenced:
williamr@2
    33
class CApaAppFinder;
williamr@2
    34
class TApaAppEntry;
williamr@2
    35
class TEntry;
williamr@2
    36
class RFs;
williamr@2
    37
class TDriveUnit;
williamr@2
    38
//
williamr@2
    39
williamr@2
    40
// dir in which app recognizers should live - this dir is scanned on all drives
williamr@2
    41
williamr@2
    42
/**
williamr@2
    43
@internalTechnology
williamr@2
    44
*/
williamr@2
    45
_LIT(KAppRecognizerSearchPath,"\\System\\Recogs\\");
williamr@2
    46
williamr@2
    47
/**
williamr@2
    48
@internalComponent
williamr@2
    49
*/
williamr@2
    50
_LIT(KAppRecognizerSearchString,"?:\\System\\Recogs\\");
williamr@2
    51
williamr@2
    52
/**
williamr@2
    53
@internalComponent
williamr@2
    54
*/
williamr@2
    55
_LIT(KAppRecognizerSearchAnyFile,"*");
williamr@2
    56
williamr@2
    57
/**
williamr@2
    58
@internalComponent
williamr@2
    59
*/
williamr@2
    60
const TUid KUidFileRecogInterfaceUid={0x101F7D86};
williamr@2
    61
williamr@2
    62
class CApaRecognizerDll; // private class
williamr@2
    63
williamr@2
    64
/** Constructs a recognizer type 
williamr@2
    65
williamr@2
    66
@publishedPartner
williamr@2
    67
@released
williamr@2
    68
*/
williamr@2
    69
typedef CApaFileRecognizerType* (*CreateCApaFileRecognizerType)();
williamr@2
    70
williamr@2
    71
class CApaScanningFileRecognizer : public CApaFileRecognizer
williamr@2
    72
/**
williamr@2
    73
@internalComponent
williamr@2
    74
@deprecated
williamr@2
    75
*/
williamr@2
    76
	{
williamr@2
    77
public:
williamr@2
    78
	class TRecognizer
williamr@2
    79
		{
williamr@2
    80
	friend class CApaRecognizerDll;
williamr@2
    81
	friend class CT_File1Step;
williamr@2
    82
	public:
williamr@2
    83
		TRecognizer(HBufC* aName);
williamr@2
    84
		inline const TDesC& Name() const;
williamr@2
    85
	public:
williamr@2
    86
		//lint --e{1925} suppress "public data member" 
williamr@2
    87
		TUid iUid;
williamr@2
    88
		TInt iDrive;
williamr@2
    89
	private:
williamr@2
    90
		inline TRecognizer();
williamr@2
    91
		TRecognizer(const TRecognizer&);
williamr@2
    92
		TRecognizer& operator=(const TRecognizer&);
williamr@2
    93
	private:
williamr@2
    94
		HBufC* iName;
williamr@2
    95
		};
williamr@2
    96
	typedef CArrayFixFlat<TRecognizer> CRecognizerArray;
williamr@2
    97
	//
williamr@2
    98
private:
williamr@2
    99
	class CApaBackupOperationObserver : public CBase, public MBackupOperationObserver
williamr@2
   100
		{
williamr@2
   101
	public:
williamr@2
   102
		CApaBackupOperationObserver(CApaScanningFileRecognizer& aRecognizer);
williamr@2
   103
		~CApaBackupOperationObserver();
williamr@2
   104
		void RegisterObserverL();
williamr@2
   105
williamr@2
   106
		virtual void HandleBackupOperationEventL(const TBackupOperationAttributes& aBackupOperationAttributes);
williamr@2
   107
		TInt UpdateCounter() const;
williamr@2
   108
		void SetUpdateCounter( TInt aValue );
williamr@2
   109
	private:
williamr@2
   110
		CBaBackupSessionWrapper* iSession;
williamr@2
   111
		CApaScanningFileRecognizer& iRecognizer;
williamr@2
   112
		TInt iUpdateCounter;
williamr@2
   113
		};
williamr@2
   114
	friend class CApaScanningFileRecognizer::CApaBackupOperationObserver;
williamr@2
   115
public:
williamr@2
   116
	IMPORT_C static CApaScanningFileRecognizer* NewL(RFs& aFs,MApaAppStarter* aAppStarter);
williamr@2
   117
	IMPORT_C ~CApaScanningFileRecognizer();
williamr@2
   118
	IMPORT_C void ScanForRecognizersL();
williamr@2
   119
	IMPORT_C TInt RecognizerCount();
williamr@2
   120
	IMPORT_C CRecognizerArray* RecognizerListLC()const;
williamr@2
   121
	IMPORT_C const TRecognizer& operator[](TInt aIndex)const; 
williamr@2
   122
	IMPORT_C TInt UpdateCounter()const;
williamr@2
   123
williamr@2
   124
protected:
williamr@2
   125
	IMPORT_C CApaScanningFileRecognizer(RFs& aFs,MApaAppStarter* aAppStarter);
williamr@2
   126
	IMPORT_C void ConstructL();
williamr@2
   127
	//
williamr@2
   128
private:
williamr@2
   129
	void ScanDriveL(TInt aDriveNum);
williamr@2
   130
	void LoadRecognizerL(const TDesC& aFullName,TUid aUid);
williamr@2
   131
	TInt RemoveRecognizer(CApaRecognizerDll& aDll);
williamr@2
   132
	void LoadEcomRecognizerL(TDriveUnit& aDrive,TUid aUid);
williamr@2
   133
	void ScanForEcomRecognizersL();
williamr@2
   134
public:
williamr@2
   135
	IMPORT_C void SetEcomRecognizersFromListL(const CRecognizerArray& aList);
williamr@2
   136
	IMPORT_C void SetEcomRecognizerL(const TRecognizer& aRecognizer); 
williamr@2
   137
private:
williamr@2
   138
	CApaRecognizerDll* iRecognizerLib;
williamr@2
   139
	MApaAppStarter* iAppStarter;
williamr@2
   140
	CApaBackupOperationObserver* iObserver;
williamr@2
   141
	};
williamr@2
   142
williamr@2
   143
inline const TDesC& CApaScanningFileRecognizer::TRecognizer::Name() const
williamr@2
   144
	{
williamr@2
   145
	return *iName;	
williamr@2
   146
	}
williamr@2
   147
williamr@2
   148
inline CApaScanningFileRecognizer::TRecognizer::TRecognizer()
williamr@2
   149
	{
williamr@2
   150
	}
williamr@2
   151
williamr@2
   152
#endif