sl@0: // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Graphics Resource - kernel extension sl@0: // sl@0: sl@0: #ifndef SGEXTENSION_H sl@0: #define SGEXTENSION_H sl@0: sl@0: #include sl@0: #include sl@0: sl@0: class DSgResource: public DBase sl@0: { sl@0: public: sl@0: virtual TInt Open() = 0; sl@0: virtual void Close() = 0; sl@0: virtual TUint64 Id() const = 0; sl@0: virtual TUint32 Attributes() const = 0; sl@0: virtual TInt GetMetaData(TDes8& aMetaData) const = 0; sl@0: virtual DChunk* DataChunk() const = 0; sl@0: virtual TInt DataSize() const = 0; sl@0: inline static TInt Compare(const TUint64* aId, const DSgResource& aResource); sl@0: inline static TInt Compare(const DSgResource& aResource1, const DSgResource& aResource2); sl@0: }; sl@0: sl@0: class SgExtension sl@0: { sl@0: public: sl@0: IMPORT_C static TVersion Version(); sl@0: IMPORT_C static TInt CreateResource(TUint32 aAttribs, const TDesC8& aMetaData, TInt aDataSize, DSgResource*& aResource); sl@0: IMPORT_C static TInt FindAndOpenResource(TUint64 aId, DSgResource*& aResource); sl@0: IMPORT_C static TInt GlobalResourceCount(); sl@0: IMPORT_C static TInt GlobalGraphicsMemoryUsed(); sl@0: }; sl@0: sl@0: #include sl@0: sl@0: #endif // SGEXTENSION_H