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