diff -r 000000000000 -r 2e3d3ce01487 systemsettings/gssensorplugin/inc/gssensorpluginmodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/systemsettings/gssensorplugin/inc/gssensorpluginmodel.h Tue Feb 02 10:12:00 2010 +0200 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2006 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: Sensor Settings model. +* +*/ + + +#ifndef GSSENSORPLUGINMODEL_H +#define GSSENSORPLUGINMODEL_H + +// INCLUDES +#include +#include +#include + +// CONSTANTS +// maximum string sizes +const TInt KGSBufSize128 = 128; +const TUid KGSSensorPluginUid = { 0x10282DED }; + + +// CLASS DEFINITION + +/** + * CGSSensorPluginModel is the model class of GS sensor plugin. + * It provides functions to get and set setting values. + * + * @lib gssensorplugin.lib + * @since S60 5.0 + */ +class CGSSensorPluginModel : public CBase + { + public: + + /** + * Two-phased constructor + */ + static CGSSensorPluginModel* NewL(); + + /** + * Destructor + */ + virtual ~CGSSensorPluginModel(); + + /** + * Returns sensor active status. + * + * @return 1: sensor active status ON + * 0: sensor active status OFF + */ + TInt SensorActiveStatusL(); + + /** + * Sets sensor active status. + * + * @param aStatus sensor active status. + */ + void SetSensorActiveStatusL( TInt aStatus ); + + /** + * Gets user selected options for interactions + * + * @param aInteraction Interaction for which settings to get + * @return TUint32 contains a bitmaks of user selections + */ + TUint32 SelectionListL( TInt aInteraction ); + + /** + * Sets user selected options for interaction + * + * @param aInteraction Interaction for which settings to set + * @param aList updated bitmask of user selected interactions + */ + void SetSelectionListL( TInt aInteraction, TInt aList ); + + /** + * Indicates is any changes made during this objects lifetime + */ + TBool ChangesMade(); + + /** + * Indicates are there any settings set on + */ + TBool SettingsExistsL(); + + /** + * Gets the variation bitmask of a selected interaction + */ + TUint32 VariationListL( const TInt aInteraction ); + + private: + + /** + * Default C++ contructor + */ + CGSSensorPluginModel(); + + /** + * Symbian OS default constructor + */ + void ConstructL(); + + private: // data + + /** + * Sensor settings repository + */ + CRepository* iSensorRepository; + + /** + * Flag that has user made any changes to settings. This value is + * updated whenever settings are stored into Central Repository. + */ + TBool iChangesMade; + }; + +#endif //GSSENSORPLUGINMODEL_H