1bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* 2bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee INTEL CONFIDENTIAL 3bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee Copyright 2009 Intel Corporation All Rights Reserved. 4bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way without Intel’s prior express written permission. 5bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 6bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and approved by Intel in writing. 7bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee*/ 8bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 9bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#ifndef __MIX_AUDIOINITPARAMS_H__ 10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define __MIX_AUDIOINITPARAMS_H__ 11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <mixparams.h> 14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 16bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_TYPE_AUDIOINITPARAMS: 17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get type of class. 19bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 20bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_TYPE_AUDIOINITPARAMS (mix_aip_get_type ()) 21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 23bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_AUDIOINITPARAMS: 24bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to be type-casted. 25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 26bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Type casting. 27bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_AUDIOINITPARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIX_TYPE_AUDIOINITPARAMS, MixAudioInitParams)) 29bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 31bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_AUDIOINITPARAMS: 32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: an object. 33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given object is an instance of #MixParams 35bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 36bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_AUDIOINITPARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIX_TYPE_AUDIOINITPARAMS)) 37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_AUDIOINITPARAMS_CLASS: 40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: class to be type-casted. 41bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Type casting. 43bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_AUDIOINITPARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIX_TYPE_AUDIOINITPARAMS, MixAudioInitParamsClass)) 45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 47bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_IS_AUDIOINITPARAMS_CLASS: 48bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @klass: a class. 49bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 50bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Checks if the given class is #MixParamsClass 51bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 52bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_IS_AUDIOINITPARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIX_TYPE_AUDIOINITPARAMS)) 53bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 54bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 55bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MIX_AUDIOINITPARAMS_GET_CLASS: 56bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: a #MixParams object. 57bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 58bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the class instance of the object. 59bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 60bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define MIX_AUDIOINITPARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIX_TYPE_AUDIOINITPARAMS, MixAudioInitParamsClass)) 61bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 62bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixAudioInitParams MixAudioInitParams; 63bd8388b4555645b3d29abc6a94c303638064d69awonjong.leetypedef struct _MixAudioInitParamsClass MixAudioInitParamsClass; 64bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 65bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 66bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixAudioInitParams: 67bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @parent: Parent. 68bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 69bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @MixAudio initialization parameter object. 70bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 71bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixAudioInitParams 72bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 73bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< public >*/ 74bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParams parent; 75bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 76bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< private >*/ 77bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void* reserved1; 78bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void* reserved2; 79bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void* reserved3; 80bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee void* reserved4; 81bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee}; 82bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 83bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 84bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * MixAudioInitParamsClass: 85bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @parent_class: Parent class. 86bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 87bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @MixAudio initialization parameter object class structure. 88bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 89bd8388b4555645b3d29abc6a94c303638064d69awonjong.leestruct _MixAudioInitParamsClass 90bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee{ 91bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /*< public >*/ 92bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee MixParamsClass parent_class; 93bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 94bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee /* class members */ 95bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee}; 96bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 97bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 98bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_aip_get_type: 99bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: type 100bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 101bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Get the type of object. 102bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 103bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeGType mix_aip_get_type (void); 104bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 105bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 106bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_aip_new: 107bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: A newly allocated instance of #MixAudioInitParams 108bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 109bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Use this method to create new instance of #MixAudioInitParams 110bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 111bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixAudioInitParams *mix_aip_new(void); 112bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 113bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 114bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_aip_ref: 115bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @mix: object to add reference 116bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @returns: the MixAudioInitParams instance where reference count has been increased. 117bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 118bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Add reference count. 119bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 120bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeMixAudioInitParams *mix_aip_ref(MixAudioInitParams *mix); 121bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 122bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/** 123bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * mix_aip_unref: 124bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * @obj: object to unref. 125bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * 126bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee * Decrement reference count of the object. 127bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */ 128bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define mix_aip_unref(obj) mix_params_unref(MIX_PARAMS(obj)) 129bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 130bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/* Class Methods */ 131bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee 132bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /* __MIX_AUDIOINITPARAMS_H__ */ 133