Service Importer (Mac)
Service Importer is a small tool for the Mac that allows you to open local .RODL
and .remoteRODL
files, as well as connect to a live Remoting SDK server and generate the necessary code files to connect to that server from your client project.
This is mostly helpful if you are working with an IDE that Remoting SDK does not directly integrate with to provide support for Connecting to a Server, such as Xcode or the different Java IDEs, or if you are working without an IDE.
If you use Fire, Visual Studio or Delphi, you can use the integrated Connect to Server functionality they provide.
There are two ways to work with Service Importer:
-
if you already have a
.remoteRODL
file, or a full.RODL
from your server project, you can simply double-click that file in Finder to open it in Service Importer. -
if you want to connect to a remote server, launch Service Importer manually and and enter the address of your server.
Once done, the RODL document will open and show you a preview of the code, alongside with some options:
Use the top popup button, "Target", to select your target platform and language. Service Importer supports generating code for all five target platforms supported by Remoting SDK, and multiple language choices for each platform.
You can also decide whether you want Service Importer to generate a _ServerAccess
class file alongside your import, by toggling the corresponding checkbox.
As you select your options, Service Importer will generate code for your target in the background, and update the second popup button, "Generated Files", with the list of files it created. For most languages, this will be a single file (or two, if a _ServerAccess
file is being created as well), but for some this could be a range of files, such as .h
/.m
file pairs for Objective-C, or individual files for every class for Java.
Click the "Save X Files" button to save the generated files to disk, for use in your project. Service Importer will never overwrite an existing _ServerAccess
file during save.
Code Generation
Behind the scenes, Service Importer uses the same infrastructure as the rodl2code command line tool (provided for Mac and Windows) to generate the source files.
For most languages and platforms, this relies on our open source CodeGen4 (CG4) code generation engine to emit code for the different platforms and languages, with two exceptions:
-
Code generation for .NET currently uses CodeDom, a .NET-specific technology, instead of CodeGen4. For this reason, the .NET option is only available in Service Importer if Mono is installed on your Mac.
-
Code generation for C++Builder and for JavaScript currently falls back to our legacy "codegen2" tool, as fill code generation for these two languages has not been updated to the new system yet.
Service Importer handles this transparently for you, and for future versions of Remoting SDK, these code generators will also be converted to use CG4.