libApp/tools
2012-11-17 18:25:55 +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 2012-11-17 18:25:55 +01:00
project.conf Fixed building the tools 2012-09-28 21:27:57 +00:00
README libSystem will no longer depend on external dependencies 2011-03-27 23:15:38 +00: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:
- add scripting possibilities to configure (to regenerate the headers
  accordingly)
- place this code directly inside AppInterface's class
- implement dynamic port assignment: it currently has to be explicitly specified
  in the interface file