libApp/tools
2013-01-09 13:56:01 +01:00
..
.cvsignore Removed useless self-mention of .cvsignore in .cvsignore files 2011-07-29 00:28:45 +00:00
appbroker.c Fixed building the tools 2012-09-28 21:27:57 +00:00
appclient.c Fixed building the tools 2012-09-28 21:27:57 +00:00
Makefile Re-generated Makefiles 2013-01-07 02:21:30 +01:00
project.conf Fixed building the tools 2012-09-28 21:27:57 +00:00
README Headers are now regenerated automatically 2013-01-09 13:56:01 +01:00

broker reads a configuration file for a given AppInterface, eg:

=== BEGIN FILE ===
service=VFS

[chmod]
ret=INT32
arg1=STRING,pathname
arg2=UINT32,mode
=== END FILE ===

which is then translated into a C header file, eg:
=== BEGIN FILE ===
/* $Id$ */



#ifndef VFS_H
# define VFS_H

# include <stdint.h>
# include <System.h>


/* types */
typedef Buffer * BUFFER;
typedef int32_t INT32;
typedef uint32_t UINT32;
typedef String * STRING;


/* functions */
INT32 VFS_chmod(STRING pathname, UINT32 mode);

#endif /* !VFS_H */
=== END FILE ===

This service definition file and corresponding header may then be committed
along the relevant source code.

It would also be helpful to:
- place this code directly inside AppInterface's class
- implement dynamic port assignment: it currently has to be explicitly specified
  in the interface file