williamr@2: /* williamr@2: * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Factory for Profiles Engine Wrapper. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: williamr@2: #ifndef PROENGFACTORY_H williamr@2: #define PROENGFACTORY_H williamr@2: williamr@2: // INCLUDES williamr@2: #include williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class RFs; williamr@2: class MProEngEngine; williamr@2: class MProEngAlertToneSeeker; williamr@2: class MProEngNotifyHandler; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Factory for Profiles Engine Wrapper. williamr@2: * You can create new instances of Profiles Engines, Notification Handlers and williamr@2: * Alert Tone Seekers by using this factory.

williamr@2: * Example: williamr@2: * @code williamr@2: * // Create a new instance of Profiles Engine: williamr@2: * MProEngEngine* engine = williamr@2: * ProEngFactory::NewEngineLC(); williamr@2: * williamr@2: * // Create a new instance of Notification Handler: williamr@2: * MProEngNotifyHandler* notifyHandler = williamr@2: * ProEngFactory::NewNotifyHandlerL(); williamr@2: * williamr@2: * // Create a new instance of Alert Tone Seeker: williamr@2: * MProEngAlertToneSeeker* toneSeeker = williamr@2: * ProEngFactory::NewAlertToneSeekerL(); williamr@2: * @endcode williamr@2: * williamr@2: * @lib ProfileEngine.lib williamr@2: * @since Series 60 3.1 williamr@2: */ williamr@2: class ProEngFactory williamr@2: { williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Engine. williamr@2: * @since Series 60 3.1 williamr@2: * @return New instance of Profiles Engine. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngEngine* NewEngineL(); williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Engine. The created object is williamr@2: * pushed into the cleanup stack. williamr@2: * @since Series 60 3.1 williamr@2: * @return New instance of Profiles Engine. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngEngine* NewEngineLC(); williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Engine. williamr@2: * @since Series 60 3.1 williamr@2: * @param aFs A reference to an open file server session. aFs must williamr@2: * remain connected for the lifetime of the returned object. williamr@2: * @return New instance of Profiles Engine. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngEngine* NewEngineL( RFs& aFs ); williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Engine. The created object is williamr@2: * pushed into the cleanup stack. williamr@2: * @since Series 60 3.1 williamr@2: * @param aFs A reference to an open file server session. aFs must williamr@2: * remain connected for the lifetime of the returned object. williamr@2: * @return New instance of Profiles Engine. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngEngine* NewEngineLC( RFs& aFs ); williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Notification Handler. williamr@2: * @since Series 60 3.1 williamr@2: * @return New instance of Notification Handler. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngNotifyHandler* NewNotifyHandlerL(); williamr@2: williamr@2: /** williamr@2: * Create a new instance of Profiles Alert Tone Seeker. williamr@2: * @since Series 60 3.1 williamr@2: * @return New instance of Alert Tone Seeker. williamr@2: * Ownership is transferred to the client application. williamr@2: */ williamr@2: IMPORT_C static MProEngAlertToneSeeker* NewAlertToneSeekerL(); williamr@2: williamr@2: private: williamr@2: williamr@2: // Prohibit C++ default constructor. williamr@2: ProEngFactory(); williamr@2: // Prohibit Destructor. williamr@2: ~ProEngFactory(); williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // PROENGFACTORY_H williamr@2: williamr@2: // End of File williamr@2: