blob: d423cce768ab2bcedddffe5ff4ed88e05f64917d [file] [log] [blame]
##
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
##
// This file automatically generated by:
// Apache Etch 1.1.0-incubating (LOCAL-0) / c 1.1.0-incubating (LOCAL-0)
// Fri Aug 28 15:58:20 CEST 2009
// This file is automatically created and should not be edited!
#ifndef $helper.getIntfName( $intf ).toUpperCase()_H
#define $helper.getIntfName( $intf ).toUpperCase()_H
\#include "etch_object.h"
\#include "etch_mailbox.h"
#ifdef __cplusplus
extern "C" {
#endif
## generate CLASSIDs
extern unsigned short CLASSID_$helper.getIntfName( $intf ).toUpperCase()_SERVICE_INTERFACE;
#foreach( $n in $intf.iterator() )
#if ($n.isStruct() || $n.isEnumx() || $n.isExcept())
#if (!$hasBaseClass)
extern unsigned short CLASSID_$n.efqname($helper).toUpperCase();
#if ($n.hasExtends())
extern unsigned short CLASSID_$n.efqname($helper).toUpperCase()_VTABLE;
#end
#end
#end
#end
## generate typedefs
#foreach( $n in $intf.iterator() )
#if ($n.isStruct())
#if (!$hasBaseClass)
//typedef struct $n.efqname($helper) $n.efqname($helper);
#end
#end
#end
#foreach($serviceName in $helper.getUsedServiceNames($intf))
\#include "${serviceName.toLowerCase()}.h"
#end
#foreach( $n in $intf.iterator() )
#if ($n.isConstant())
extern $helper.getNativeTypeNameForConstants( $n.type() ) $n.name();
#end
#end
#foreach( $n in $intf.iterator() )
#if ($n.isEnumx())
typedef enum $helper.getIntfName($intf)_$n.name()_enum
{
#set( $sep = "" )
#foreach( $i in $n.iterator() )
$sep$n.name()_$i.name()
#set( $sep = ", " )
#end
} $helper.getIntfName( $intf )_$n.name()_enum;
/**
* $n.efqname($helper)
* $helper.getServiceName($intf) service value object $n.name().toString().toLowerCase()
*/
typedef struct $n.efqname($helper)
{
etch_object object;
$helper.getIntfName( $intf )_$n.name()_enum value;
} $n.efqname($helper);
$n.efqname( $helper)* new_$n.efqname($helper)();
$n.efqname( $helper)* new_$n.efqname($helper)_init($n.efqname( $helper)_enum val);
$n.efqname($helper)* clone_$n.efqname($helper)($n.efqname($helper)* other);
int is_$n.efqname($helper)(void* obj);
#end
#end
## generate stucts
#foreach( $n in $intf.iterator() )
#if ($n.isStruct() || $n.isExcept())
#if (!$hasBaseClass)
/**
* $n.efqname($helper)
* $helper.getServiceName($intf) service value object $n.name().toString().toLowerCase()
*/
typedef struct $n.efqname($helper)
{
etch_object object;
#if($n.isExcept())
etch_string* message;
uint32 errorcode;
excptype_t excptype;
#end
#foreach( $p in $n.getAllParameters() )
$helper.getNativeTypeName( $p.type(), true ) $p.name();
#end
} $n.efqname($helper);
$n.efqname( $helper)* new_$n.efqname($helper)();
$n.efqname($helper)* clone_$n.efqname($helper)($n.efqname($helper)* other);
## Generate setter and getter
int is_$n.efqname($helper)(void* obj);
#end
#end
#end
##generate general typdefs
#foreach( $n in $intf.iterator() )
#if ($n.isMessage())
#if (!$n.isHidden())
#set ($sb = "typedef $helper.getPointerTypeName( $n.type() ) (*$helper.getServiceName($intf)_$n.name())(void* thisx")
#foreach( $p in $n.iterator() )
#set ( $sb = "$sb, $helper.getTypeName( $p.type() ) $p.name()")
#end
#set ($sb = "$sb);")
$sb
#end
#end
#end
## generate mailbox typedef
//typedef struct i_mailbox i_mailbox;
## generate async begin typedefs
#foreach( $n in $intf.iterator() )
#if ($n.isMessage())
#if (!$n.isHidden())
#set ($sb = "typedef i_mailbox* (*$helper.getServiceName($intf)_async_begin_$n.name())(void* thisx")
#foreach( $p in $n.iterator() )
#set ( $sb = "$sb, $helper.getTypeName($p.type()) $p.name()")
#end
#set ($sb = "$sb);")
$sb
#end
#end
#end
## generate async end typedefs
#foreach( $n in $intf.iterator() )
#if ($n.isMessage())
#if (!$n.isHidden())
#set ($sb = "typedef $helper.getPointerTypeName( $n.type() ) (*$helper.getServiceName($intf)_async_end_$n.name())(void* thisx, i_mailbox*);")
$sb
#end
#end
#end
/**
* i_$helper.getIntfName( $intf )
* $helper.getIntfName( $intf ) service interface
*/
typedef struct i_$helper.getIntfName( $intf )
{
etch_object object;
/* - - - - - - - - - - -
* service virtuals
* - - - - - - - - - - -
*/
## generate service virtuals
#foreach( $n in $intf.iterator() )
#if ($n.isMessage())
#if (!$n.isHidden())
$helper.getServiceName($intf)_$n.name() $n.name();
#end
#end
#end
/* - - - - - - - - - - -
* service data
* - - - - - - - - - - -
*/
#foreach( $n in $intf.iterator() )
#if ($n.isStruct() || $n.isExcept())
#if (!$n.isHidden())
$n.efqname($helper)* $n.name().toString();
#end
#end
#end
} i_$helper.getIntfName($intf);
#if ($intf.hasDescr())
/**
#foreach( $s in $intf.descr() )
* $s
#end
*/
#end
i_$helper.getIntfName( $intf )* new_$helper.getIntfName($intf)_service_interface();
#ifdef __cplusplus
} //extern "C"
#endif
#endif /* $helper.getIntfName($intf).toUpperCase()_H */