Generating Interface Code from your RODL

Because the first version of Remoting SDK for Cocoa concentrates on creating clients for existing servers implemented in .NET or Delphi, it does not provide a native Mac version of our Service Builder at this time. After all, creating and defining a RODL is part of creating the server, not the client.

However, writing clients for Xcode still involves generating code from your existing RODL files, so that your services can be called directly from Objective-C. For that reason RO/Xcode provides two ways to generate this code:

Generating Code in Service Builder, Windows Side

If you own a license for Remoting SDK for .NET or Delphi and use Service Builder on Windows, it already ships with a code generation plugin for RO/OSX. This plugin works like all other language support plugins for the other editions of Remoting SDK and allows you to generate Objecitve-C code right from inside Service Builder:

The generated files can then be copied back to the Mac (or mailed to your Mac developer) and included in your Xcode project.

Generating Code with rodl2objc, Mac Side

Alternatively, you can open your RODL file with the rodl2objc Mac application that ships with RO/OSX to generate code. rodl2objc should automatically be set to open RODL files on double-click, when RO/OSX was properly installed. You can also manually locate it in the ./Tools folder of your RO/OSX install.

rodl2objc allows you to generate code right on the Mac, without the need for a Windows machine - whether it is from a RODL file you received from the server developer, or downloaded directly from the running server via a web browser.

After opening a RODL file, rodl2objc will show you a preview of the header and implementation code of your interface on the last two tabs. A button on the first tab is provided to save the files to a folder of your choice, from where you can add them to your Xcode project.

In addition to opening local RODL files, rodl2objc also allows you to fetch RODLs directly from the server, either by choosing the Open URL... menu command (Command-Option-O) or by selecting a service discovered on the local network via ROZeroConf from the Services menu:

Adding the Intf Files to your Project

Once you have a .m and .h file for your RODL, simply add the files to your Xcode project as normal source files, either by dragging them into the Xcode folder tree, or by right-clicking the project node and choosing Add -> Existing Files... and browsing for them.