INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

Miscelaneous notes on writing Orca code with Ice.

Note:
Reviewed for release 2.0.0.
Generating skeleton implementations

Ice utility slice2cpp can generate implementation skeletons from *.ice files. We don't do it because they would then be compiled and included (unnecessarily) with libOrcaInterfaces library. So if you need to implement an interface, e.g. Home, you can generate a skeletion like this:

$ cd <ORCA_SRC>/src/interfaces/slice/orca
$ slice2cpp -I<ORCA_SRC>/src/interfaces/slice/ -I<ICE_SLICE_HOME> --impl home.ice
$ ls home*
home.cpp  home.h  home.ice  homeI.cpp  homeI.h

Where ICE_SLICE_HOME location depends on how Ice was installed. Ice's standard installation puts it into <ICE_INSALL>/slice. Debian package puts it into /usr/share/slice/.

In the directory you can see 4 generated files: homeI.h and homeI.cpp are the skeletons. Move them to your component directory and delete home.h and home.cpp. There are 2 modifications to the files you'll have to make:

  • The include for the interface definition file in homeI.h is missing the namespace, so it looks like this:
    #include <orca/home.h>
    
  • Unless your current directory is in the include path, change brackets to quotes in homeI.cpp, so it looks like this:
    #include "homeI.h"
    
Generating Local Documentation

You'll need doxyorca which is a patched version of Doxygen which can parse .ice files. If you don't have it, just use standard doxygen.

$ cd <ORCA_SRC>/doc
$ doxyorca orca.doxyfile
$ konqueror html/index.html &
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5