epoc32/include/mw/proengfactory.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 /*
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * 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
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: Factory for Profiles Engine Wrapper.
    15 *
    16 */
    17 
    18 
    19 
    20 #ifndef PROENGFACTORY_H
    21 #define PROENGFACTORY_H
    22 
    23 //  INCLUDES
    24 #include <e32def.h>
    25 
    26 // FORWARD DECLARATIONS
    27 class RFs;
    28 class MProEngEngine;
    29 class MProEngAlertToneSeeker;
    30 class MProEngNotifyHandler;
    31 
    32 // CLASS DECLARATION
    33 
    34 /**
    35 *  Factory for Profiles Engine Wrapper.
    36 *  You can create new instances of Profiles Engines, Notification Handlers and
    37 *  Alert Tone Seekers by using this factory.<br><br>
    38 *  Example:
    39 *  @code
    40 *  // Create a new instance of Profiles Engine:
    41 *  MProEngEngine* engine =
    42 *      ProEngFactory::NewEngineLC();
    43 *
    44 *  // Create a new instance of Notification Handler:
    45 *  MProEngNotifyHandler* notifyHandler =
    46 *      ProEngFactory::NewNotifyHandlerL();
    47 *
    48 *  // Create a new instance of Alert Tone Seeker:
    49 *  MProEngAlertToneSeeker* toneSeeker =
    50 *      ProEngFactory::NewAlertToneSeekerL();
    51 *  @endcode
    52 *
    53 *  @lib ProfileEngine.lib
    54 *  @since Series 60 3.1
    55 */
    56 class ProEngFactory
    57     {
    58     public: // New functions
    59 
    60         /**
    61         * Create a new instance of Profiles Engine.
    62         * @since Series 60 3.1
    63         * @return New instance of Profiles Engine.
    64         *         Ownership is transferred to the client application.
    65         */
    66         IMPORT_C static MProEngEngine* NewEngineL();
    67 
    68         /**
    69         * Create a new instance of Profiles Engine. The created object is
    70         * pushed into the cleanup stack.
    71         * @since Series 60 3.1
    72         * @return New instance of Profiles Engine.
    73         *         Ownership is transferred to the client application.
    74         */
    75         IMPORT_C static MProEngEngine* NewEngineLC();
    76 
    77         /**
    78         * Create a new instance of Profiles Engine.
    79         * @since Series 60 3.1
    80         * @param aFs A reference to an open file server session. aFs must
    81         *        remain connected for the lifetime of the returned object.
    82         * @return New instance of Profiles Engine.
    83         *         Ownership is transferred to the client application.
    84         */
    85         IMPORT_C static MProEngEngine* NewEngineL( RFs& aFs );
    86 
    87         /**
    88         * Create a new instance of Profiles Engine. The created object is
    89         * pushed into the cleanup stack.
    90         * @since Series 60 3.1
    91         * @param aFs A reference to an open file server session. aFs must
    92         *        remain connected for the lifetime of the returned object.
    93         * @return New instance of Profiles Engine.
    94         *         Ownership is transferred to the client application.
    95         */
    96         IMPORT_C static MProEngEngine* NewEngineLC( RFs& aFs );
    97 
    98         /**
    99         * Create a new instance of Profiles Notification Handler.
   100         * @since Series 60 3.1
   101         * @return New instance of Notification Handler.
   102         *         Ownership is transferred to the client application.
   103         */
   104         IMPORT_C static MProEngNotifyHandler* NewNotifyHandlerL();
   105 
   106         /**
   107         * Create a new instance of Profiles Alert Tone Seeker.
   108         * @since Series 60 3.1
   109         * @return New instance of Alert Tone Seeker.
   110         *         Ownership is transferred to the client application.
   111         */
   112         IMPORT_C static MProEngAlertToneSeeker* NewAlertToneSeekerL();
   113 
   114     private:
   115 
   116         // Prohibit C++ default constructor.
   117         ProEngFactory();
   118         // Prohibit Destructor.
   119         ~ProEngFactory();
   120 
   121     };
   122 
   123 #endif      // PROENGFACTORY_H
   124 
   125 // End of File
   126