XAMA SDK Functional Groups

When something new is created, it is often difficult to capture its essence in words.  If not that, then it is hard to know where to start.  Sometimes it is much easier to create with the hope that the explanation will happen later.

Later is now.  In the coming weeks we will be providing new documentation and samples.  We are also providing our first videos for the SDK.  This is a new business model for us and we are working hard to make sure that the SDK is accepted and used in businesses.

Today I am going to cover the SDK functional groups.  The hope is that describing the functionality in groups will make it easier to understand what the API can do overall.  The first stop is the documentation on the web.  Please take a moment to look at the functional groups.  This documentation page was only meant for C/C++ but the ideas could be mapped to COM and C# as well.

Here is a quick summary of the groups:

Overview of Functional Groups

  • Button
  • Camera
  • Capability
  • Channel
  • Conversion
  • Device
  • Display
    • Orientation
    • Scroll Mode
    • Settings
    • Viewport
  • Event
  • Init/Uninit
  • Keyboard
  • Location
  • Notification
  • Open/Close
  • Phone
  • Picker
  • Process
  • Receiver Controls
  • Session
  • SMS
  • Version

These functional names are not quite enough to demonstrate what can be done.

Here is a quick tour.  More detail to follow in future posts.


The ability to hook certain device buttons (Back button on Android) in order to catch button events and handle them in the application instead of on the mobile device.


Support for being able to take a picture from the application on XenApp using the mobile device.


Collection of API which allows for determining agreed up features between the server and Receiver.


Determines the state of the virtual channel used for the Mobility Pack.


Conversion routines between different string types (UTF-8, UTF-16, BSTR, Multistring).


Determine various mobile device settings to better help understanding what support is available.


Collection of API related to the display.  There are four sub groups: Orientation, Scroll Mode, Settings, and Viewport.


Get and set the application orientation relative to the device.

Scroll Mode

Controls how touch events interact with the application.


Determines the display settings for the mobile device.  Includes things like resolution and PPI.


Get and set the viewport location for the application.  Useful for selecting content to view on a larger application.  Also good for knowing how big the Receiver display area actually is.


Allows for enabling and disabling notification of certain events.


Initializes and uninitializes COM for the sake of Citrix Mobility Pack.


Show and hide the display keyboard.  The on screen keyboard is needed for inputting text into the applications.


Get location of the mobile device for use with the application.  This is protected with security measures so that privacy is preserved.


Allows notifying the user of events.  The notification can trigger four different techniques: sound, light, vibrate, and text.


Open and Close make it possible to treat the CMP interface like a handle used by file open and close.  All operations require a handle to work.  This is not true of COM or C# since they are based on an object model.


Allows making a phone call using a given phone number.


Local mobile device selection process for a list of entries.  The application submits the request for the user to select one item.  The mobile device displays the list and the user picks one thing.


Detect and register processes as being aware of Citrix Mobility Pack.  This is most useful for applications that create child processes and do not want the automatic Citrix code displaying the keyboard or using the picker automatically.    In most cases, it will not be necessary to use APIs from this group.

Receiver Controls

Enables and disables the Receiver controls.  The Receiver controls are usually enabled and display options for controlling the Receiver (like keyboard popup). On some Receivers, the controls are available on the screen which takes away from the application experience.


Get the state of the session and set some of the session options.


Send a SMS message.


Determine the version of the SDK and supporting DLL files.


Live near Brisbane, Australia. Software developer currently focused on iOS and Android. Avid Google Local Guide

Tagged with: , , ,
Posted in Citrix Mobility Pack, Citrix SDK, XAMA
Follow Red Circle Blog on WordPress.com
%d bloggers like this: