1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8 * |
8 * |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: Metadata Insertion Itf Impl |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #ifndef XAMETADATAINSERTIONITF_H |
18 #ifndef XAMETADATAINSERTIONITF_H |
19 #define XAMETADATAINSERTIONITF_H |
19 #define XAMETADATAINSERTIONITF_H |
20 |
|
21 |
20 |
22 #include "xametadataadaptation.h" |
21 #include "xametadataadaptation.h" |
23 #include "xamediarecorder.h" |
22 #include "xamediarecorder.h" |
24 /** MACROS **/ |
23 /** MACROS **/ |
25 |
24 |
28 /** ENUMERATIONS **/ |
27 /** ENUMERATIONS **/ |
29 |
28 |
30 /** STRUCTURES **/ |
29 /** STRUCTURES **/ |
31 /* Definition of XAMetadataInsertionItf implementation */ |
30 /* Definition of XAMetadataInsertionItf implementation */ |
32 typedef struct XAMetadataInsertionItfImpl_ |
31 typedef struct XAMetadataInsertionItfImpl_ |
33 { |
32 { |
34 /* parent interface */ |
33 /* parent interface */ |
35 struct XAMetadataInsertionItf_ itf; |
34 struct XAMetadataInsertionItf_ itf; |
36 /* pointer to self */ |
35 /* pointer to self */ |
37 struct XAMetadataInsertionItfImpl_* self; |
36 struct XAMetadataInsertionItfImpl_* self; |
38 |
37 |
39 /* variables */ |
38 /* variables */ |
40 XAAdaptationBaseCtx *adaptCtx; |
39 XAAdaptationBaseCtx *adaptCtx; |
41 XAMetadataImplTagList currentTags; |
40 XAMetadataImplTagList currentTags; |
42 |
41 |
43 /*Callback*/ |
42 /*Callback*/ |
44 xaMetadataInsertionCallback callback; |
43 xaMetadataInsertionCallback callback; |
45 void *cbcontext; |
44 void *cbcontext; |
46 XAMetadataInsertionItf cbPtrToSelf; |
45 XAMetadataInsertionItf cbPtrToSelf; |
47 |
46 |
48 } XAMetadataInsertionItfImpl; |
47 } XAMetadataInsertionItfImpl; |
49 |
48 |
50 /** METHODS **/ |
49 /** METHODS **/ |
51 |
50 |
52 /* Base interface XAMetadataInsertionItf implementation */ |
51 /* Base interface XAMetadataInsertionItf implementation */ |
53 XAresult XAMetadataInsertionItfImpl_CreateChildNode(XAMetadataInsertionItf self, |
52 XAresult XAMetadataInsertionItfImpl_CreateChildNode( |
54 XAint32 parentNodeID, |
53 XAMetadataInsertionItf self, XAint32 parentNodeID, XAuint32 type, |
55 XAuint32 type, |
54 XAchar *mimeType, XAint32 *pChildNodeID); |
56 XAchar *mimeType, |
|
57 XAint32 *pChildNodeID); |
|
58 |
55 |
59 XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount(XAMetadataInsertionItf self, |
56 XAresult XAMetadataInsertionItfImpl_GetSupportedKeysCount( |
60 XAint32 nodeID, |
57 XAMetadataInsertionItf self, XAint32 nodeID, XAboolean *pFreeKeys, |
61 XAboolean *pFreeKeys, |
58 XAuint32 *pKeyCount, XAuint32 *pEncodingCount); |
62 XAuint32 *pKeyCount, |
|
63 XAuint32 *pEncodingCount); |
|
64 |
59 |
65 XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self, |
60 XAresult XAMetadataInsertionItfImpl_GetKeySize(XAMetadataInsertionItf self, |
66 XAint32 nodeID, |
61 XAint32 nodeID, XAuint32 keyIndex, XAuint32 *pKeySize); |
67 XAuint32 keyIndex, |
|
68 XAuint32 *pKeySize); |
|
69 |
62 |
70 XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self, |
63 XAresult XAMetadataInsertionItfImpl_GetKey(XAMetadataInsertionItf self, |
71 XAint32 nodeID, |
64 XAint32 nodeID, XAuint32 keyIndex, XAuint32 keySize, |
72 XAuint32 keyIndex, |
65 XAMetadataInfo *pKey); |
73 XAuint32 keySize, |
|
74 XAMetadataInfo *pKey); |
|
75 |
66 |
76 XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding(XAMetadataInsertionItf self, |
67 XAresult XAMetadataInsertionItfImpl_GetFreeKeysEncoding( |
77 XAint32 nodeID, |
68 XAMetadataInsertionItf self, XAint32 nodeID, XAuint32 encodingIndex, |
78 XAuint32 encodingIndex, |
69 XAuint32 *pEncoding); |
79 XAuint32 *pEncoding); |
|
80 |
70 |
81 XAresult XAMetadataInsertionItfImpl_InsertMetadataItem(XAMetadataInsertionItf self, |
71 XAresult XAMetadataInsertionItfImpl_InsertMetadataItem( |
82 XAint32 nodeID, |
72 XAMetadataInsertionItf self, XAint32 nodeID, XAMetadataInfo *pKey, |
83 XAMetadataInfo *pKey, |
73 XAMetadataInfo *pValue, XAboolean overwrite); |
84 XAMetadataInfo *pValue, |
|
85 XAboolean overwrite); |
|
86 |
74 |
87 XAresult XAMetadataInsertionItfImpl_RegisterCallback(XAMetadataInsertionItf self, |
75 XAresult XAMetadataInsertionItfImpl_RegisterCallback( |
88 xaMetadataInsertionCallback callback, |
76 XAMetadataInsertionItf self, xaMetadataInsertionCallback callback, |
89 void *pContext); |
77 void *pContext); |
90 |
78 |
91 /* XAMetadataInsertionItfImpl -specific methods */ |
79 /* XAMetadataInsertionItfImpl -specific methods */ |
92 XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create(XAMediaRecorderImpl* impl); |
80 XAMetadataInsertionItfImpl* XAMetadataInsertionItfImpl_Create( |
93 void XAMetadataInsertionItfImpl_AdaptCb( void *pHandlerCtx, XAAdaptEvent *event ); |
81 XAMediaRecorderImpl* impl); |
|
82 void XAMetadataInsertionItfImpl_AdaptCb(void *pHandlerCtx, |
|
83 XAAdaptEvent *event); |
94 void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self); |
84 void XAMetadataInsertionItfImpl_Free(XAMetadataInsertionItfImpl* self); |
95 |
85 |
96 #endif /* XAMETADATAINSERTIONITF_H */ |
86 #endif /* XAMETADATAINSERTIONITF_H */ |