--- 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 <e32base.h>
+#include <sensrvtypes.h>
+/**
+ * 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<KSensrvLocationLength> 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<KSensrvVendorIdLength> 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