XAMA SDK documentation is now available online at http://www.citrixcloud.net/mobilesdk/index.html. The documentation was generated from the source code using doxygen. Because of this, the information is more up to date than typical SDK documents. Three interfaces are covered.
- C/C++ XAMA API
- COM XAMA Interfaces
- C# XAMA API
Since COM and .NET are supported, it actually means more languages would work besides C/C++/C#. However, we have not tested other combinations.
Looking through the API online is the easiest way to get an idea of how the API are called. For example, take a look at CMPTakePicture for C/C++. Given this knowledge along with the takepicture sample, it would be possible to build a program that uses the camera pretty fast on XenApp.
As a side note, one of the interesting use cases is being able to transfer photos right after they are taken to the server. The access is protected over the ICA link and the copy process uses client drive access. In other words, it is fully under the control of the program how the picture data is copied once it is taken. There are security and privacy concerns so some rules are in effect. First, the user has to enable access to the SD card to Receiver. Second, the administrator has to enable transferring data with CDM (Client Drive Mapping). Third, the user selects when the picture is taken manually. The server cannot say when the actual picture is taken but can only set the stage for getting ready for it. This tangent is hopefully interesting for those of you that want to play with the SDK. Personally I find the take picture API very interesting with quite a bit of potential.
Back on track now. One last thing to clarify. In order to get this same information in case you do not have an internet connection, just use a web browser to open “c:\program files (x86)\citrix\mobilitysdk\doc\html\index.html” assuming that you installed to the default path on an x64 system. On IE, it will give a popup warning against running scripts. Let the scripts run since it will create the navigation pane. There is no ActiveX in the SDK.
It has been a real challenge to produce the SDK documentation this way and there is certainly room for improvement. This is the first time I have used doxygen for so much. It is an incredibly powerful tool and hopefully the SDK will use more of its features in the future.