--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/EngInc/MProfileEngineExtended.h Thu Dec 17 08:52:52 2009 +0200
@@ -0,0 +1,163 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Extended profile engine interface.
+*
+*/
+
+
+
+#ifndef __MPROFILEENGINEEXTENDED_H__
+#define __MPROFILEENGINEEXTENDED_H__
+
+// INCLUDES
+#include <MProfileEngine.h>
+
+// DATA TYPES
+enum TProfileUtilityObjectType
+ {
+ EProfileUtilityObjectPresenceTool = 0
+ };
+
+// FUNCTION PROTOTYPES
+class MProfileEngineExtended;
+class MProfilesLocalFeatures;
+
+/**
+* Create extended profile engine, ownership transfered.
+*
+* @lib ProfileEng.lib
+* @since 2.0
+*/
+IMPORT_C MProfileEngineExtended* CreateProfileEngineExtendedL();
+
+/**
+* Create extended profile engine, ownership transfered.
+*
+* @param aFs An open file server session, ownership is NOT transferred.
+* aFs must remain connected for the lifetime of the returned object.
+* @lib ProfileEng.lib
+* @since 3.0
+*/
+IMPORT_C MProfileEngineExtended* CreateProfileEngineExtendedL( RFs* aFs );
+
+// FORWARD DECLARATIONS
+class MProfileExtended;
+class MProfilePresence;
+
+// CLASS DECLARATION
+
+/**
+* Extended profile engine interface.
+* This interface extend MProfileEngine interface and
+* offers methods to get profile settings and store profile settings.
+*
+* @lib N/A
+* @since 2.0
+*/
+class MProfileEngineExtended : public MProfileEngine
+ {
+ protected: // Destructor
+
+ virtual ~MProfileEngineExtended() {};
+
+ public: // New functions
+
+ /**
+ * Create extended profile, ownership transfered.
+ * @since 2.0
+ * @param aId Profile ID
+ * @return Instance of the MProfileExtended
+ */
+ virtual MProfileExtended* ProfileLC( TInt aId ) = 0;
+
+ /**
+ * Create extended profile, ownership transfered.
+ * @since 2.0
+ * @param aId Profile ID
+ * @return Instance of the MProfileExtended
+ */
+ virtual MProfileExtended* ProfileL( TInt aId ) = 0;
+
+ /**
+ * Store profile settings. Leaves with KErrAccessDenied if one or more
+ * of the settings of the target profile is/are read-only.
+ * @since 2.0
+ * @param aProfile Profile
+ */
+ virtual void CommitChangeL( MProfileExtended& aProfile ) = 0;
+
+ /**
+ * Send presence settings.
+ * @since 2.1
+ * @param aProfile Profile
+ */
+ virtual void SendPresenceSettingsL(
+ const MProfilePresence& aPresence ) = 0;
+
+ /**
+ * Delete profile.
+ * @since 2.1
+ * @param aId Profile ID
+ * @return Error code
+ */
+ virtual TInt DeleteProfileL( TInt aId ) = 0;
+
+ /**
+ * Create new profile, ownership transfered.
+ * @since 2.1
+ * @return Instance of the MProfileExtended
+ */
+ virtual MProfileExtended* CreateProfileL() = 0;
+
+ /**
+ * Returns is profile default profile.
+ * @since 2.0
+ * @param aId Profile ID
+ * @return Is profile default profile
+ */
+ virtual TBool IsDefaultProfile( TInt aId ) = 0;
+
+ /**
+ * Returns locally variated features of Profiles.
+ * @since 2.6
+ */
+ virtual MProfilesLocalFeatures& LocalFeatures() = 0;
+
+ /**
+ * Returns an utility object needed for a specific task. The returned
+ * object can be generally of any class and the caller must know what
+ * it wants and cast the returned object to the correct class.
+ * The ownership is not transferred.
+ * @param aType the type of the utility object to be returned.
+ * @param aImpl the utility object needed by the client on return, NULL
+ * if there isn't any of the given type
+ */
+ virtual void GetProfileUtilityObject(
+ TProfileUtilityObjectType aType, TAny*& aImpl ) = 0;
+
+ /**
+ * Set timed active profile. When the time expires the profile which was
+ * active before calling this method will be reactivated.
+ * If ID is incorrect then leave with KErrNotFound.
+ * @since 3.2
+ * @param aId Profile ID
+ * @param aTime time when the profile activation expires
+ */
+ virtual void SetActiveProfileTimedL( TInt aId, TTime aTime ) = 0;
+
+ };
+
+#endif // __MPROFILEENGINEEXTENDED_H__
+
+// End of File