williamr@4: /* williamr@4: * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: Container for composit feedback types. williamr@4: * Part of: Tactile Feedback. williamr@4: * williamr@4: */ williamr@4: williamr@4: #ifndef C_FEEDBACKSPEC_H williamr@4: #define C_FEEDBACKSPEC_H williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: williamr@4: // Container for one event/feedback type pair williamr@4: struct TTactileFbItem williamr@4: { williamr@4: TTouchEventType iEventType; williamr@4: TTouchLogicalFeedback iFeedback; williamr@4: TTouchFeedbackType iFeedbackType; williamr@4: }; williamr@4: williamr@4: /** williamr@4: * Contains feedback types used for setting feedback area williamr@4: * williamr@4: * This class acts as container for event/feedback type pairs. These pairs williamr@4: * define what kind of feedback is producent when area is touched. williamr@4: * williamr@4: * @lib touchfeedback.lib williamr@4: * @since S60 5.2 williamr@4: */ williamr@4: class CFeedbackSpec: public CBase williamr@4: { williamr@4: public: williamr@4: /** williamr@4: * Instantiation method. williamr@4: * williamr@4: * @since S60 5.2 williamr@4: * @return New CFeedbackSpec instance. williamr@4: */ williamr@4: IMPORT_C static CFeedbackSpec* New(); williamr@4: williamr@4: /** williamr@4: * Destructor. williamr@4: * williamr@4: * @since S60 5.2 williamr@4: */ williamr@4: virtual ~CFeedbackSpec(); williamr@4: williamr@4: /** williamr@4: * Adds event/feedback type pair to feedback spec williamr@4: * williamr@4: * @since S60 5.2 williamr@4: * @param aEventType - Touch event type. williamr@4: * @param aFeedback - Logical feedback type. williamr@4: * @return KErrNone, or one of standard Symbian OS error codes. williamr@4: */ williamr@4: IMPORT_C TInt AddFeedback( TTouchEventType aEventType, williamr@4: TTouchLogicalFeedback aFeedback ); williamr@4: williamr@4: /** williamr@4: * Gets defined event/feedback type pairs williamr@4: * williamr@4: * @since S60 5.2 williamr@4: * @param aArray - Event/feedback type pairs is returned here. williamr@4: */ williamr@4: IMPORT_C void GetFeedbackSpec( RArray& aArray ); williamr@4: williamr@4: /** williamr@4: * Adds event/feedback type pair to feedback spec. williamr@4: * Using this overload it is possible to define only one feedback type williamr@4: * (vibra/audio) for event. williamr@4: * williamr@4: * @since S60 5.2 williamr@4: * @param aEventType - Touch event type. williamr@4: * @param aFeedback - Logical feedback type. williamr@4: * @param aFeedbackType - Bitmask to define feedback type (vibra/audio). williamr@4: * @return KErrNone, or one of standard Symbian OS error codes. williamr@4: */ williamr@4: IMPORT_C TInt AddFeedback( TTouchEventType aEventType, williamr@4: TTouchLogicalFeedback aFeedback, williamr@4: TTouchFeedbackType aFeedbackType ); williamr@4: williamr@4: williamr@4: private: williamr@4: /** williamr@4: * Constructor. williamr@4: */ williamr@4: CFeedbackSpec(); williamr@4: williamr@4: private: // data williamr@4: williamr@4: /** williamr@4: * Array for event type/feedback type pairs williamr@4: * Own. williamr@4: */ williamr@4: RArray iFbArray; williamr@4: }; williamr@4: williamr@4: #endif // C_FEEDBACKSPEC_H