idlehomescreen/xmluicontroller/inc/xmlnodeidgenerator.h
branchRCL_3
changeset 9 f966699dea19
parent 0 f72a12da539e
equal deleted inserted replaced
5:c743ef5928ba 9:f966699dea19
    17 
    17 
    18 
    18 
    19 #ifndef C_XMLNODEIDGENERATOR_H
    19 #ifndef C_XMLNODEIDGENERATOR_H
    20 #define C_XMLNODEIDGENERATOR_H
    20 #define C_XMLNODEIDGENERATOR_H
    21 
    21 
       
    22 // System includes
    22 #include <e32base.h>
    23 #include <e32base.h>
    23 
    24 
    24 class MAiPropertyExtension;
    25 // User includes
    25 struct TAiPublisherInfo;
    26 
       
    27 // Forward declarations
       
    28 class CHsContentPublisher;
       
    29 class THsPublisherInfo;
    26 struct TAiContentItem;
    30 struct TAiContentItem;
    27 
    31 
    28 namespace AiXmlUiController
    32 namespace AiXmlUiController
    29 {
    33 {
    30 
       
    31 /**
    34 /**
    32 *  @ingroup group_xmluicontroller
    35 *  @ingroup group_xmluicontroller
    33 * 
    36 * 
    34 *  Xml node id generator.Generates an identifier that is used to look up 
    37 *  Xml node id generator.Generates an identifier that is used to look up 
    35 *  settings node from XML UI model.
    38 *  settings node from XML UI model.
    36 *
    39 *
    37 *  @lib AiXmlUiMain
    40 *  @lib AiXmlUiMain
    38 */
    41 */
    39 class CXmlNodeIdGenerator : public CBase
    42 NONSHARABLE_CLASS( CXmlNodeIdGenerator ) : public CBase
    40     {
    43     {
    41 public: // Construction
    44 public: 
       
    45     // Constructor and destructor
    42 
    46 
    43     static CXmlNodeIdGenerator* NewL();
    47     static CXmlNodeIdGenerator* NewL();
    44     
    48     
    45     ~CXmlNodeIdGenerator();
    49     ~CXmlNodeIdGenerator();
    46 
    50 
    47 // New methods
    51 public:    
       
    52     // New functions
    48 
    53 
    49     /**
    54     /**
    50      * Generates an identifier that is used to look up settings node from 
    55      * Generates an identifier that is used to look up settings node from 
    51      * XML UI model.
    56      * XML UI model.
    52      *
    57      *
    53      * @param aPubInfo      Active Idle publisher info to use in the 
    58      * @param aPublisherInfo Active Idle publisher info to use in the 
    54      *                      identifier generation.
    59      *                       identifier generation.
    55      * @return content node identifier.
    60      * @return content node identifier.
    56      */
    61      */
    57     TPtrC SettingsNodeIdL( const TAiPublisherInfo& aPubInfo);
    62     TPtrC SettingsNodeIdL( const THsPublisherInfo& aPublisherInfo );
    58     
    63     
    59     /**
    64     /**
    60      * Generates an identifier that is used to look up content node from 
    65      * Generates an identifier that is used to look up content node from 
    61      * XML UI model.
    66      * XML UI model.
    62      *
    67      *
    64      *                      generation.
    69      *                      generation.
    65      * @param aContentItem  Active Idle content item to use in the 
    70      * @param aContentItem  Active Idle content item to use in the 
    66      *                      identifier generation.
    71      *                      identifier generation.
    67      * @return content node identifier.
    72      * @return content node identifier.
    68      */
    73      */
    69     TPtrC ContentNodeIdL(MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem);
    74     TPtrC ContentNodeIdL( CHsContentPublisher& aPlugin, 
       
    75         const TAiContentItem& aContentItem );
    70     
    76     
    71     /**
    77     /**
    72      * Generates an identifier that is used to look up content node from 
    78      * Generates an identifier that is used to look up content node from 
    73      * XML UI model.
    79      * XML UI model.
    74      *
    80      *
    75      * @param aPubInfo      Active Idle publisher info to use in the 
    81      * @param aPublisherInfo Active Idle publisher info to use in the 
    76      *                      identifier generation.
    82      *                       identifier generation.
    77      * @param aContentItem  Active Idle content item to use in the 
    83      * @param aContentItem   Active Idle content item to use in the 
    78      *                      identifier generation.
    84      *                       identifier generation.
    79      * @return content node identifier.
    85      * @return content node identifier.
    80      */
    86      */
    81     TPtrC ContentNodeIdL(const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem);
    87     TPtrC ContentNodeIdL( const THsPublisherInfo& aPublisherInfo, 
       
    88         const TAiContentItem& aContentItem );
    82     
    89     
    83     /**
    90     /**
    84      * Generates an identifier that is used to look up resource node from 
    91      * Generates an identifier that is used to look up resource node from 
    85      * XML UI model.
    92      * XML UI model.
    86      *
    93      *
    88      *                      generation.
    95      *                      generation.
    89      * @param aContentItem  Active Idle content item to use in the 
    96      * @param aContentItem  Active Idle content item to use in the 
    90      *                      identifier generation.
    97      *                      identifier generation.
    91      * @return resource node identifier.
    98      * @return resource node identifier.
    92      */
    99      */
    93     TPtrC ResourceNodeIdL(MAiPropertyExtension& aPlugin, const TAiContentItem& aContentItem);
   100     TPtrC ResourceNodeIdL( CHsContentPublisher& aPlugin, 
       
   101         const TAiContentItem& aContentItem );
    94     
   102     
    95     /**
   103     /**
    96      * Generates an identifier that is used to look up resource node from 
   104      * Generates an identifier that is used to look up resource node from 
    97      * XML UI model.
   105      * XML UI model.
    98      *
   106      *
    99      * @param aPubInfo      Active Idle publisher info to use in the 
   107      * @param aPublisherInfo Active Idle publisher info to use in the 
   100      *                      identifier generation.
   108      *                       identifier generation.
   101      * @param aContentItem  Active Idle content item to use in the 
   109      * @param aContentItem   Active Idle content item to use in the 
   102      *                      identifier generation.
   110      *                       identifier generation.
   103      * @return resource node identifier.
   111      * @return resource node identifier.
   104      */
   112      */
   105     TPtrC ResourceNodeIdL(const TAiPublisherInfo& aPubInfo, const TAiContentItem& aContentItem);
   113     TPtrC ResourceNodeIdL( const THsPublisherInfo& aPublisherInfo, 
       
   114         const TAiContentItem& aContentItem );
   106     
   115     
   107 private: // Construction
   116 private: 
       
   117     // Constructors
       
   118     
       
   119     /**
       
   120      * C++ default constructor
       
   121      */
       
   122     CXmlNodeIdGenerator();
       
   123         
       
   124 private: 
       
   125     // data
   108 
   126 
   109     CXmlNodeIdGenerator();
   127     /** Content node id buffer, Owned */
   110     
   128     HBufC* iContentNodeIdBuf;    
   111     void ConstructL();
       
   112     
       
   113 private: // Data
       
   114 
       
   115     HBufC* iContentNodeIdBuf;
       
   116     
       
   117     };
   129     };
   118         
   130         
   119 }  // namespace AiXmlUiController
   131 }  // namespace AiXmlUiController
   120 
   132 
   121 #endif // C_XMLNODEIDGENERATOR_H
   133 #endif // C_XMLNODEIDGENERATOR_H
       
   134 
       
   135 // End of file