diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/accmonitorinfo.h --- a/epoc32/include/accmonitorinfo.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/accmonitorinfo.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,218 @@ -accmonitorinfo.h +/* +* 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 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: Accessory information is encapsulated to this class. +* +*/ + + + +#ifndef ACCMONITORINFO_H +#define ACCMONITORINFO_H + +// INCLUDES +#include <e32base.h> +#include <AccMonitorCapabilities.h> + +// FORWARD DECLARATIONS +class CAccMonitorInfo; + +// EXTERNAL DATA TYPES +/** +* Type definition RConnectedAccessories consist of connected accessories +* definitions which are defined in CAccMonitorInfo class. +*/ +typedef RPointerArray<CAccMonitorInfo> RConnectedAccessories; + +/** +* Type definition RAccMonCapabilityArray consist of an array of accessory +* capabilities. +*/ +typedef RArray<TAccMonCapability> RAccMonCapabilityArray; + +// CLASSES +/** +* CAccMonitorInfo is a container for single accessory information. +* +* CAccMonitorInfo holds accessory capabilities and other accessory related +* information. The data members of this class can be accessed with methods in +* in this class. +* +* @see CAccMonitor for examples. +* @lib AccMonitor +* @since S60 5.0 +*/ +class CAccMonitorInfo : public CBase + { + +public: + + /** + * Symbian two phased constructor. + */ + static IMPORT_C CAccMonitorInfo* NewL(); + + /** + * Symbian two phased constructor. + */ + static IMPORT_C CAccMonitorInfo* NewLC(); + + /** + * Symbian two phased constructor. + */ + static IMPORT_C CAccMonitorInfo* NewL( const CAccMonitorInfo* aAccMonInfo ); + + /** + * Symbian two phased constructor. + */ + static IMPORT_C CAccMonitorInfo* NewLC( const CAccMonitorInfo* aAccMonInfo ); + + /** + * Reset the instance values. + */ + inline void Reset(); + + /** + * Gets the accessory device type defined for this connected accessory. + * + * @return The accessory device type. + */ + inline TAccMonCapability AccDeviceType() const; + + /** + * Gets the accessory physical connection defined for this connected + * accessory. + * + * @return The accessory physical connection. + */ + inline TAccMonCapability AccPhysicalConnection() const; + + /** + * Gets the accessory device address defined for this connected + * accessory. + * + * @return This accessory's device address. + */ + inline TUint64 AccDeviceAddress() const; + + /** + * Gets a capability that is defined in the array for this connected + * accessory. If the array of this class is empty and this function is + * used this function will panic. + * + * @param aIndex is the index where some capability needs to be getted. + * @return TAccMonCapability the capability in that index. + */ + inline TAccMonCapability AccCapabilityAtIndex( TInt aIndex ) const; + + /** + * Gets the count of objects in the array. + * + * @return TInt the size of array. + */ + inline TInt Count() const; + + /** + * Checks if some capability is defined in this connected accessory. + * + * @param aCapability is the capability definition that needs to be + * checked if it is defined for this accessory. + * @return ETrue if this capability is defined. + */ + inline TBool Exists( TAccMonCapability aCapability ) const; + + /** + * Checks if a group of capabilities are defined for this accessory. + * aCapabilityArray is the array of capabilities that need to be checked. + * + * @param aCapabilityArray is the array of capability definitionion that need to be + * checked if they are defined for this accessory. + * @return ETrue if these capabilities is defined. + */ + IMPORT_C TBool Exists( RAccMonCapabilityArray& aCapabilityArray ) const; + + /** + * Copy function for this class. + * + * @param aAccMonInfo is the instance from what the copy needs to be made of. + * @return CAccMonitorInfo the copy of this class. + */ + IMPORT_C void CopyL( const CAccMonitorInfo* aAccMonInfo ); + + /** + * Comparison function for this class. + * + * @param aAccMonInfo is the instance what needs to be compared. + * @return ETrue if comparison matches. + */ + IMPORT_C TBool CompareL( const CAccMonitorInfo* aAccMonInfo ) const; + + /** + * Destructor + */ + virtual ~CAccMonitorInfo(); + +private: + + friend class CAccMonitorContainer; + + /** + * Default Constructor + */ + CAccMonitorInfo(); + + /** + * Symbian OS 2nd phase constructor + */ + void ConstructL(); + + /** + * Symbian OS 2nd phase constructor + */ + void ConstructL( const CAccMonitorInfo* aAccMonInfo ); + + /** + * Assignment operator is hidden so that clients cannot use the + * assignement to this class. Instead the CopyL method should be used. + */ + void operator=( CAccMonitorInfo aAccInfo ); + +private: + + // An array to hold the capabilities for this instance + RAccMonCapabilityArray iAccCapabilityArray; + + // Defines device type for this accessory + TAccMonCapability iAccessoryDeviceType; + + // Defines physical connection for this accessory + TAccMonCapability iAccessoryPhysicalConnection; + + // Defines device address for this accessory, not defined allways + TUint64 iDeviceAddress; + + // A numerical definition to point the correct accessory + TInt iAccessoryID; + + // A reserved member variable for future use. + TInt iReserved1; + + // A reserved member variable for future use. + TInt iReserved2; + }; + +#include <AccMonitorInfo.inl> + +#endif // ACCMONITORINFO_H + +// End of File