epoc32/include/sensrvchannelinfo.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
--- 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