diff -r a36789189b53 -r 095bea5f582e khronosfws/openmax_al/src/common/xanlinearvolumeitf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/khronosfws/openmax_al/src/common/xanlinearvolumeitf.h Tue Aug 31 15:43:02 2010 +0300 @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef XANLINEARVOLUMEITF_H +#define XANLINEARVOLUMEITF_H + +#include "openmaxalwrapper.h" +#include "xaadaptationmmf.h" + +/** MACROS **/ + +/** TYPES **/ + +/** ENUMERATIONS **/ + +/** STRUCTURES **/ +/* Definition of XANokiaLinearVolumeItf implementation */ +typedef struct XANokiaLinearVolumeItfImpl_ + { + /* parent interface */ + struct XANokiaLinearVolumeItf_ itf; + /* pointer to self */ + struct XANokiaLinearVolumeItfImpl_* self; + + XAmillibel volumeLevel; + XAuint32 eventFlags; + + XANokiaLinearVolumeItf cbPtrToSelf; + xaNokiaLinearVolumeCallback callback; + void *context; + + /*Adaptation variables*/ + XAAdaptationBaseCtx *adapCtx; + + } XANokiaLinearVolumeItfImpl; + +/** METHODS **/ + +/* Base interface XANokiaLinearVolumeItf implementation */ +XAresult XANokiaLinearVolumeItfImpl_SetVolumeLevel( + XANokiaLinearVolumeItf self, XAuint32 *percentage); + +XAresult XANokiaLinearVolumeItfImpl_GetVolumeLevel( + XANokiaLinearVolumeItf self, XAuint32 *percentage); + +XAresult XANokiaLinearVolumeItfImpl_GetStepCount(XANokiaLinearVolumeItf self, + XAuint32 *pStepCount); + +XAresult XANokiaLinearVolumeItfImpl_RegisterVolumeCallback( + XANokiaLinearVolumeItf self, xaNokiaLinearVolumeCallback callback, + void * pContext); +XAresult XANokiaLinearVolumeItfImpl_SetCallbackEventsMask( + XANokiaLinearVolumeItf self, XAuint32 eventFlags); +XAresult XANokiaLinearVolumeItfImpl_GetCallbackEventsMask( + XANokiaLinearVolumeItf self, XAuint32 * pEventFlags); +/* XANokiaLinearVolumeItfImpl -specific methods */ +XANokiaLinearVolumeItfImpl* XANokiaLinearVolumeItfImpl_Create( + XAAdaptationBaseCtx *adapCtx); +void XANokiaLinearVolumeItfImpl_Free(XANokiaLinearVolumeItfImpl* self); +void XANokiaLinearVolumeItfImpl_AdaptCb(void *pHandlerCtx, + XAAdaptEvent *event); + +#endif /* XANLINEARVOLUMEITF_H */