00001 /* 00002 * ============================================================================ 00003 * Name : CPbkSingleItemFetchDlg from CPbkSingleItemFetchDlg.h 00004 * Part of : PbkView.dll 00005 * 00006 * Description: 00007 * Phonebook Single Item Fetch API. 00008 * Version: 00009 * 00010 * Copyright (C) 2002 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * ============================================================================ 00020 */ 00021 00022 #ifndef __CPbkSingleItemFetchDlg_H__ 00023 #define __CPbkSingleItemFetchDlg_H__ 00024 00025 // INCLUDES 00026 #include <e32base.h> // CBase 00027 #include <cntdef.h> // TContactItemId 00028 00029 // FORWARD DECLARATIONS 00030 class CContactViewBase; 00031 class CPbkFetchDlg; 00032 class CPbkSelectFieldDlg; 00033 class CPbkContactEngine; 00034 class CPbkFieldIdArray; 00035 class CPbkContactItem; 00036 class TPbkContactItemField; 00037 class MObjectProvider; 00038 00039 00040 // CLASS DECLARATION 00041 00049 class CPbkSingleItemFetchDlg : public CBase 00050 { 00051 public: // Types 00055 class TParams 00056 { 00057 public: // Input parameters 00063 CContactViewBase* iContactView; 00064 00068 const CPbkFieldIdArray* iFieldIdArray; 00069 00070 public: // Output parameters 00076 CPbkContactItem* iContactItem; 00077 00083 TPbkContactItemField* iContactItemField; 00084 00085 public: // Additional input parameters 00090 TInt iCbaId; 00091 00092 public: // Constructors 00096 IMPORT_C TParams(); 00097 00098 // Compiler-generated destructor is ok for this class 00099 00104 IMPORT_C operator TCleanupItem(); 00105 00106 private: // Implementation 00107 static void Cleanup(TAny* aSelf); 00108 00109 private: // Unimplemented functions 00111 TParams(const TParams&); 00113 TParams& operator=(const TParams&); 00114 00115 private: // data 00117 TInt32 iSpare1; 00118 }; 00119 00120 public: // Interface 00127 IMPORT_C static CPbkSingleItemFetchDlg* NewL 00128 (TParams& aParams, CPbkContactEngine& aEngine); 00129 00133 IMPORT_C void SetMopParent(MObjectProvider* aParent); 00134 00144 IMPORT_C TInt ExecuteLD(); 00145 00149 ~CPbkSingleItemFetchDlg(); 00150 00151 private: // Implementation 00152 CPbkSingleItemFetchDlg(TParams& aParams, CPbkContactEngine& aEngine); 00153 void ConstructL(); 00154 TBool EntryFetchAcceptedL(TContactItemId aCid); 00155 class TFetchCallback; 00156 friend class TFetchCallback; 00157 00158 private: // Data 00160 TParams& iParams; 00162 CContactViewBase* iContactView; 00164 CPbkFetchDlg* iFetchDlg; 00166 CPbkSelectFieldDlg* iFieldDlg; 00168 CPbkContactEngine& iPbkEngine; 00170 CPbkContactItem* iContactItem; 00172 TPbkContactItemField* iContactItemField; 00174 TBool* iDestroyedPtr; 00176 MObjectProvider* iObjectProvider; 00177 }; 00178 00179 // __CPbkSingleItemFetchDlg_H__ 00180 #endif 00181 00182 // End of File