source: trunk/nom/class_c/nomarray.c

Last change on this file was 345, checked in by cinc, 17 years ago

Added license blurp

File size: 3.5 KB
Line 
1/* ***** BEGIN LICENSE BLOCK *****
2 * Version: CDDL 1.0/LGPL 2.1
3 *
4 * The contents of this file are subject to the COMMON DEVELOPMENT AND
5 * DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
6 * this file except in compliance with the License. You may obtain a copy of
7 * the License at http://www.sun.com/cddl/
8 *
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
12 * License.
13 *
14 * The Original Code is "NOM" Netlabs Object Model
15 *
16 * The Initial Developer of the Original Code is
17 * netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
18 * Portions created by the Initial Developer are Copyright (C) 2005-2007
19 * the Initial Developer. All Rights Reserved.
20 *
21 * Contributor(s):
22 *
23 * Alternatively, the contents of this file may be used under the terms of
24 * the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
25 * case the provisions of the LGPL are applicable instead of those above. If
26 * you wish to allow use of your version of this file only under the terms of
27 * the LGPL, and not to allow others to use your version of this file under
28 * the terms of the CDDL, indicate your decision by deleting the provisions
29 * above and replace them with the notice and other provisions required by the
30 * LGPL. If you do not delete the provisions above, a recipient may use your
31 * version of this file under the terms of any one of the CDDL or the LGPL.
32 *
33 * ***** END LICENSE BLOCK ***** */
34/** \file nomarray.c
35
36 Implementation file for the NOM class NOMArray.
37 */
38
39#ifndef NOM_NOMArray_IMPLEMENTATION_FILE
40#define NOM_NOMArray_IMPLEMENTATION_FILE
41#endif
42
43#ifdef __OS2__
44#define INCL_DOS
45#include <os2.h>
46#endif /* __OS2__ */
47
48#include <nom.h>
49#include <nomtk.h>
50
51#include "nomarray.ih"
52
53/**
54 \brief This function implements the method length() of class NOMArray which returns the number of elements.
55 */
56NOMDLLEXPORT NOM_Scope gulong NOMLINK impl_NOMArray_length(NOMArray* nomSelf,
57 CORBA_Environment *ev)
58{
59 NOMArrayData* nomThis = NOMArrayGetData(nomSelf);
60
61 return _pPtrArray->len;
62}
63
64/**
65 \brief This function implements the method append() of class NOMArray which adds an object to the end of the array.
66 */
67NOMDLLEXPORT NOM_Scope void NOMLINK impl_NOMArray_append(NOMArray* nomSelf,
68 const NOMObject* pItem,
69 CORBA_Environment *ev)
70{
71 NOMArrayData* nomThis = NOMArrayGetData(nomSelf);
72
73 g_ptr_array_add(_pPtrArray, (gpointer) pItem);
74}
75
76
77/**
78 \brief This function implements the method queryObjectAtIdx() of class NOMArray.
79
80 Idx is running from 0 to length()-1
81 */
82NOMDLLEXPORT NOM_Scope NOMObject* NOMLINK impl_NOMArray_queryObjectAtIdx(NOMArray* nomSelf,
83 const gulong guIdx,
84 CORBA_Environment *ev)
85{
86 NOMArrayData* nomThis = NOMArrayGetData(nomSelf);
87
88 return (NOMObject*) g_ptr_array_index(_pPtrArray, guIdx);
89}
90
91
92/**
93 \brief This function implements the overriden method nomInit() of class NOMArray which allocates our
94 internal array data sructure.
95 */
96NOMDLLEXPORT NOM_Scope void NOMLINK impl_NOMArray_nomInit(NOMArray* nomSelf,
97 CORBA_Environment *ev)
98{
99 NOMArrayData* nomThis = NOMArrayGetData(nomSelf);
100
101 /* call parent */
102 NOMArray_nomInit_parent(nomSelf, ev);
103
104 /* */
105 _pPtrArray=g_ptr_array_new();
106 g_assert(_pPtrArray);
107}
108
Note: See TracBrowser for help on using the repository browser.