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.
Button
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.
Camera
Support for being able to take a picture from the application on XenApp using the mobile device.
Capability
Collection of API which allows for determining agreed up features between the server and Receiver.
Channel
Determines the state of the virtual channel used for the Mobility Pack.
Conversion
Conversion routines between different string types (UTF-8, UTF-16, BSTR, Multistring).
Device
Determine various mobile device settings to better help understanding what support is available.
Display
Collection of API related to the display. There are four sub groups: Orientation, Scroll Mode, Settings, and Viewport.
Orientation
Get and set the application orientation relative to the device.
Scroll Mode
Controls how touch events interact with the application.
Settings
Determines the display settings for the mobile device. Includes things like resolution and PPI.
Viewport
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.
Events
Allows for enabling and disabling notification of certain events.
Init/Uninit
Initializes and uninitializes COM for the sake of Citrix Mobility Pack.
Keyboard
Show and hide the display keyboard. The on screen keyboard is needed for inputting text into the applications.
Location
Get location of the mobile device for use with the application. This is protected with security measures so that privacy is preserved.
Notification
Allows notifying the user of events. The notification can trigger four different techniques: sound, light, vibrate, and text.
Open/Close
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.
Phone
Allows making a phone call using a given phone number.
Picker
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.
Process
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.
Session
Get the state of the session and set some of the session options.
SMS
Send a SMS message.
Version
Determine the version of the SDK and supporting DLL files.