wvuing/wvuiprocess/Inc/MCAGroupPropertiesPC.h
changeset 0 094583676ce7
equal deleted inserted replaced
-1:000000000000 0:094583676ce7
       
     1 /*
       
     2 * Copyright (c) 2006 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 "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Interface for PC Group properties dialog
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef MCAGGROUPPROPERTIESPC_H
       
    20 #define MCAGGROUPPROPERTIESPC_H
       
    21 
       
    22 #include "TEnumsPC.h"
       
    23 
       
    24 //class declaration
       
    25 /**
       
    26  *  @lib wvuiprocessng.lib
       
    27  *  @since 3.2
       
    28  */
       
    29 class MCAGroupPropertiesPC
       
    30     {
       
    31 
       
    32     public:
       
    33         /**
       
    34         * virtual destructor
       
    35         */
       
    36         virtual ~MCAGroupPropertiesPC()
       
    37             {
       
    38             };
       
    39 
       
    40 
       
    41     public:
       
    42 
       
    43         /* To find the total no. of groups the user has joined in the current session
       
    44          * @return integer: total no. of group joined by the user in this session
       
    45          */
       
    46         virtual TInt NumberOfCreatedGroupsDuringSession() = 0;
       
    47 
       
    48 
       
    49         /**
       
    50         * Identification of contact. This is resolved from known
       
    51         * identifications.
       
    52         * Alias, nickname and contactId.
       
    53         * Nickname is shown if set.
       
    54         * @param aContactId Id of contact which identification needed.
       
    55         * @return Identification of contact.
       
    56         *      Alias if nickname is not set and alias is enabled.
       
    57         *      Wvid without domain and prefix if nickname does not
       
    58              exists and alias is not enabled or not exists.
       
    59         */
       
    60         virtual const TPtrC GetIdentificationL( const TDesC& aContactId ) = 0;
       
    61 
       
    62 
       
    63         /*
       
    64          * The active group's topic . The active groups properties are fetched into
       
    65          * a member object of class CImpsCommonGroupProps via the InitializeForEditting(groupid) method
       
    66          * @return topic
       
    67          */
       
    68         virtual TPtrC GetTopic() const = 0;
       
    69 
       
    70         /* The active group's welcome note.The active groups properties are fetched into
       
    71         * a member object of class CImpsCommonGroupProps via the InitializeForEditting(groupid) method
       
    72          * @return welcome note
       
    73          */
       
    74         virtual TPtrC GetWelcomeNote( ) const = 0;
       
    75 
       
    76         /* The active group's max no. of users. The active groups properties are fetched into
       
    77         * a member object of class CImpsCommonGroupProps via the InitializeForEditting(groupid) method
       
    78          * @return integer: maximum no. of users
       
    79          */
       
    80         virtual TInt GetMaxNbrOfUsers() const = 0;
       
    81 
       
    82         /* The active group's searchable property. The active groups properties are fetched into
       
    83         * a member object of class CImpsCommonGroupProps via the InitializeForEditting(groupid) method
       
    84         */
       
    85         virtual TEnumsPC::TImpsPropertyBoolPC IsSearchable( )  = 0;
       
    86 
       
    87         /* The ID of the group to be editted or created is passed on to this method during initialization
       
    88          * explicitly. This will update the member variable of class CImpsCommonGroupProps with all the
       
    89          * properties if its edit mode, else with default values if its create mode.
       
    90          */
       
    91         virtual TInt InitializeForEdittingL( const TDesC& aGroupId ) = 0;
       
    92 
       
    93         /*
       
    94          * To find if the user has joined the group with group id aGroupId
       
    95          * @param aGroupId: id of the group to which we have to verify if the user has joined.
       
    96          * @return bool: Return true if the user has joined the group, else return false.
       
    97          */
       
    98         virtual TBool IsJoined( const TDesC& aGroupId ) const = 0;
       
    99 
       
   100         /*
       
   101          * To find if the user is the owner/creator of the group with group id aGroupId
       
   102          * @param: The id of the group against whom the ownership/creator rights of the
       
   103          * user has to be verified.
       
   104          * @return bool: Return True if the user is the owner/creator of aGroupId else return false.
       
   105          */
       
   106         virtual TBool IsOwnGroup( const TDesC& aGroupId ) const  = 0;
       
   107 
       
   108         /*
       
   109          * To find if the user is the admin of the group with group id aGroupId
       
   110          * @param: The id of the group against whom the admin rights of the user has to be verified.
       
   111          * @return bool: Return True if the user is the admin of aGroupId else return false.
       
   112          */
       
   113         virtual TBool IsAdmin( const TDesC& aGroupId ) const  = 0;
       
   114 
       
   115 
       
   116         /*
       
   117         * To set the Group Name property of a group. The set of the property is
       
   118         * not done to the storage/engine directly but to the instance of
       
   119         * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   120         * And it will be queried by the caller of Edit Chat Group Properties
       
   121         * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   122         * will then Save Changes to the storage component.
       
   123         * @param TDesC: the editted group name
       
   124         */
       
   125         virtual void SetGroupNameL( const TDesC& aName )  = 0;
       
   126 
       
   127         /*
       
   128          * To set the max no. of users for the group. The set of the property is
       
   129          * not done to the storage/engine directly but to the instance of
       
   130          * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   131          * And it will be queried by the caller of Edit Chat Group Properties
       
   132          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   133          * will then Save Changes to the storage component.
       
   134          * @param integer: The max no. of users to be set
       
   135          */
       
   136         virtual void SetMaxNbrOfUsers( TInt aSize )  = 0;
       
   137 
       
   138 
       
   139         /*
       
   140          * To set the Topic property of a group. The set of the property is not
       
   141          * done to the storage/engine directly but to the instance of
       
   142          * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   143          * And it will be queried by the caller of Edit Chat Group Properties
       
   144          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   145          * will then Save Changes to the storage component.
       
   146          * @param TDesC: the editted Topic
       
   147          */
       
   148         virtual void SetTopicL( const TDesC& aTopic )  = 0;
       
   149 
       
   150 
       
   151         /*
       
   152          * To set the Welcome note property of a group. The set of the property is
       
   153          * not done to the storage/engine directly but to the instance of
       
   154          * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   155          * And it will be queried by the caller of Edit Chat Group Properties
       
   156          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   157          * will then Save Changes to the storage component.
       
   158          * @param TDesC: the editted welcome note
       
   159          */
       
   160         virtual void SetWelcomeL( const TDesC& aWelcomeNote )  = 0;
       
   161 
       
   162 
       
   163         /*
       
   164          * To set the Private Messages allowed property of a group. The set of the
       
   165          * property is not done to the storage/engine directly but to the instance
       
   166          * of CImpsCommonGroupProps class. This instance is not owned by this class.
       
   167          * And it will be queried by the caller of Edit Chat Group Properties
       
   168          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller will
       
   169          * then Save Changes to the storage component.
       
   170          * @param TImpsPropertyBoolPC: EImpsPropYes if the property has to be set
       
   171          * else EImpsPropNo
       
   172          */
       
   173         virtual void SetPrivateAllowed( TEnumsPC::TImpsPropertyBoolPC aValue ) = 0;
       
   174 
       
   175 
       
   176         /*
       
   177          * To set the Searchable property of a group. The set of the property is
       
   178          * not done to the storage/engine directly but to the instance of
       
   179          * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   180          * And it will be queried by the caller of Edit Chat Group Properties
       
   181          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   182          * will then Save Changes to the storage component.
       
   183          * @param TImpsPropertyBoolPC: EImpsPropYes if the property has to be set
       
   184          * else EImpsPropNo
       
   185          */
       
   186         virtual void SetSearchable( TEnumsPC::TImpsPropertyBoolPC aType )  = 0;
       
   187 
       
   188         /*
       
   189          * To set the Open property of a group. The set of the property is not
       
   190          * done to the storage/engine directly but to the instance of
       
   191          * CImpsCommonGroupProps class. This instance is not owned by this class.
       
   192          * And it will be queried by the caller of Edit Chat Group Properties
       
   193          * ie., CCAGroupPropertiesDialog to get the changed settings. The caller
       
   194          * will then Save Changes to the storage component.
       
   195          * @param TImpsPropertyBoolPC: EImpsPropYes if the property has to be set
       
   196          * else EImpsPropNo
       
   197          */
       
   198         virtual void SetOpen( TEnumsPC::TImpsPropertyBoolPC aType )  = 0;
       
   199 
       
   200         /*
       
   201         * To check if the specified group has been stored as a favorite group.
       
   202         * If yes, then the group will be stored as a persisent object by storage
       
   203         * manager. Else it wont be stored.
       
   204         * @return Etrue if the group is marked as favorite else return EFalse
       
   205         */
       
   206         virtual TBool IsFavouriteChatGroup( const TDesC& aGroupId ) const = 0;
       
   207 
       
   208         /*
       
   209         * To find if there is an already existing group with the same groupid
       
   210         * @return bool
       
   211         */
       
   212         virtual TBool FindGroup( const TDesC& aGroupId ) const = 0;
       
   213 
       
   214         /*
       
   215         * Name of the group with the given groupid
       
   216         * @return group name
       
   217         */
       
   218         virtual const TDesC& GetGroupName( const TDesC& aGroupId ) const = 0;
       
   219 
       
   220         /*
       
   221         * Returns EImpsPropYes if the private group messages are allowed else
       
   222         * returns EImpsPropNo.
       
   223         * If unknown type it will return EImpsUnknown
       
   224         * @return TImpsPropertyBool
       
   225         */
       
   226         virtual TEnumsPC::TImpsPropertyBoolPC IsPrivateAllowed() = 0;
       
   227 
       
   228 
       
   229         /*
       
   230          * Returns EImpsPropYes if the group is open else returns EImpsPropNo.
       
   231          * If unknown type it ll return EImpsUnknown
       
   232          * @return TImpsPropertyBool
       
   233          */
       
   234         virtual TEnumsPC::TImpsPropertyBoolPC IsOpen() = 0;
       
   235 
       
   236     };
       
   237 
       
   238 #endif      // MCAGGROUPPROPERTIESDIALOGPC_H
       
   239 
       
   240 // End of File