Introduction

Framework
/System/Library/Frameworks/InstantMessage.framework
Header file directories
InstantMessage.framework/Headers
Declared in
IMAVControl.h
IMAVManager.h
IMService.h

You can use the Instant Message framework to access iChat information and provide an auxiliary video source to iChat Theater.

Concurrency Note: The Instant Message framework is not thread safe. If you call functions or methods in this framework, you must do so exclusively on the main program thread. The only exception is the video frame callback methods for iChat Theater, which are invoked off the main thread. However, typically you do not need to use any Instant Message functions or methods inside those callbacks.

Instant Message Framework Overview

The IMService class provides a way to integrate a variety of data about a user's iChat connections into your application. It provides information on which services the user is connected to (for example, AIM or Bonjour) their online screen names, their buddies, their current status on a given service (away, idle, available), idle times, and other presence-specific details. The API also provides notifications to update your applications when a user's status, information, status images, or service connections have changed. A variety of status notifications related to the user's status and preferences are posted by the IMService custom notification center. See the "Notifications" section in IMService Class Reference for more information.

The IMAVManager class allows you to create auxiliary video and audio sources that are played back through iChat AV during active chats. This is a mechanism for users to share other video sources with buddies. The IMAVManager class uses a delegation model in which you implement a video data source that provides each video frame via a callback message. You can implement your video source using either Core Video or OpenGL. You use Core Audio to handle audio channels. After setting up the audio and video sources, you begin playback by simply sending a start message to the shared IMAVManager object.



© 2004, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-07-30)