| ## |
| ## 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 */ |