diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/sensrvchannelinfo.h --- a/epoc32/include/sensrvchannelinfo.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/sensrvchannelinfo.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,179 @@ -sensrvchannelinfo.h +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* 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 +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: The channel basic information +* +*/ + + +#ifndef SENSRVCHANNELINFO_H +#define SENSRVCHANNELINFO_H + +#include +#include +/** + * The TSensrvChannelInfo class is a data class that holds information about a sensor channel. + * + * It also provides simple helper methods that allow users to determine if the class is complete + * and if one instance of this class matches another. + * + * @lib sensrvutil.lib + * @since S60 5.0 + */ +NONSHARABLE_CLASS( TSensrvChannelInfo ) + { +public: + + /** + * Default Constructor + * + * @since S60 5.0 + */ + IMPORT_C TSensrvChannelInfo(); + + /** + * Constructor + * + * This constructor is for use with CSensrvChannelFinder::FindChannelsL(). It sets the ChannelId + * and DataItemSize to zero. + * + * @since S60 5.0 + * @param aContextType Channel context type. Set to a value from TSensrvContextType. + * @param aQuantity Channel quantity. Set to a value from TSensrvQuantity. + * @param aChannelType Channel type id. This is a uid. + * @param aLocation Channel physical location. + * @param aVendorId Channel vendor name. + * @param aChannelDataTypeId Channel data type Id. This is a uid. + * @see TSensrvContextType + * @see TSensrvQuantity + */ + IMPORT_C TSensrvChannelInfo( TInt aContextType, + TInt aQuantity, + TSensrvChannelTypeId aChannelType, + const TDesC8& aLocation, + const TDesC8& aVendorId, + TSensrvChannelDataTypeId aChannelDataTypeId ); + + /** + * Constructor + * + * @since S60 5.0 + * @param aChannelId Channel identifier + * @param aContextType Channel context type. Set to a value from TSensrvContextType. + * @param aQuantity Channel quantity. Set to a value from TSensrvQuantity. + * @param aChannelType Channel type id. This is a uid. + * @param aLocation Channel physical location. + * @param aVendorId Channel vendor name. + * @param aDataItemSize Data item size for channel specific data + * @param aChannelDataTypeId Channel data type Id. This is a uid. + * @see TSensrvContextType + * @see TSensrvQuantity + */ + IMPORT_C TSensrvChannelInfo( TSensrvChannelId aChannelId, + TInt aContextType, + TInt aQuantity, + TSensrvChannelTypeId aChannelType, + const TDesC8& aLocation, + const TDesC8& aVendorId, + TInt aDataItemSize, + TSensrvChannelDataTypeId aChannelDataTypeId ); + + /** + * Copy constructor + * + * @since S60 5.0 + * @param aChannelInfo Instance to be copied + */ + IMPORT_C TSensrvChannelInfo( const TSensrvChannelInfo& aChannelInfo ); + +public: + + /** + * Checks if this instance matches supplied instance. Fields that are zero or empty are ignored. + * Channel Id, Data Item Size and Reserved fields are ignored. + * + * @since S60 5.0 + * @param aInfo Instance to be matched against this instance. + * @return ETrue if there is a match, otherwise EFalse + */ + IMPORT_C TBool IsMatch( const TSensrvChannelInfo &aInfo ) const; + + /** + * Checks that channel information in this object is complete. Complete means no zero or empty fields. + * Channel Id, Data Item Size and the Reserved fields are ignored. + * + * @since S60 5.0 + * @return ETrue if channel information is complete. + */ + IMPORT_C TBool IsComplete() const; + +public: + /** + * Channel Identifier + */ + TSensrvChannelId iChannelId; + + /** + * Context type + * @see TSensrvContextType + */ + TInt iContextType; + + /** + * Quantity + * @see TSensrvQuantity + */ + TInt iQuantity; + + /** + * Channel type identifier + * + * Identifies the channel type and therefore the content of the channel. This value is a uid and is + * unique among all channels. See sensor channel specific header files. + */ + TSensrvChannelTypeId iChannelType; + + /** + * Location of the of the channel. This is a free format string + */ + TBuf8 iLocation; + + /** + * Vendor name of the channel provider. This is a free format string and is not to be confused with + * Vendor Id unique Uid's. + */ + TBuf8 iVendorId; + + /** + * Size of the data item delivered by the channel + */ + TInt iDataItemSize; + +private: + TInt iReserved3; + +public: + /** + * Identifies the channel data type. This value is a uid and is unique among all channels. See sensor + * channel specific header files. + */ + TSensrvChannelDataTypeId iChannelDataTypeId; + +private: + TInt iReserved; + TInt iReserved2; + }; + + + +#endif // SENSRVCHANNELINFO_H