NAME

Oracle::CAPI - Perl XS wrapper extension for the Oracle Collaboration Suite CAPI SDK

SYNOPSIS

use Oracle::CAPI;
use Text::vCard;

Oracle::CAPI::SetConfigFile($CAPI_INI_FNAME,$CAPI_LOG_FNAME) && die("Can't init/log CAPI");
$capi_session = Oracle::CAPI::CreateSession() || die("Can't create CAPI session");

# Authenticate to OCS
$rv = Oracle::CAPI::ReconnectAuthUser($capi_session,$HOSTNAME,$nodeid,$pass,$uname);

$rv = Oracle::CAPI::FetchContactsFile($capi_session,$VCARD_NAME_TYPE,$VCARD_STARTSWITH_OP,$chr,$filename);
$rv = Oracle::CAPI::CreateContact($capi_session,$vcard);
$rv = Oracle::CAPI::DeleteContact($capi_session,$uid);

$rv = Oracle::CAPI::DestroyPerlSession($capi_session);

DESCRIPTION

A perl XS wrapper to ctapi.h from the Oracle Collaboration Suite CAPI SDK. This was built and tested against OCS version 9.0.4.2 on Linux.

EXPORT

CAPI_ALARM_DUETIME
CAPI_ALARM_STARTTIME
CAPI_CALLBACK_CANT_MALLOC_ERR
CAPI_CALLBACK_CANT_REALLOC_ERR
CAPI_CALLBACK_CONTINUE
CAPI_CALLBACK_DONE
CAPI_CAPAB_ABOUT_BOX
CAPI_CAPAB_AUTH
CAPI_CAPAB_CAPI_VERSION
CAPI_CAPAB_COMP
CAPI_CAPAB_ENCR
CAPI_CAPAB_MAXDATE
CAPI_CAPAB_SERVER_VERSION
CAPI_CAPAB_UNSUPPORTED_ICAL_COMP
CAPI_CAPAB_UNSUPPORTED_ICAL_PROP
CAPI_CAPAB_VERSION
CAPI_CreateCallbackStream
CAPI_CreateFileStreamFromFilenames
CAPI_CreateMemoryStream
CAPI_DestroyHandles
CAPI_DestroyStreams
CAPI_FLAGS_NONE
CAPI_FLAG_ALARM_DUETIME
CAPI_FLAG_ALARM_STARTTIME
CAPI_FLAG_FETCH_EXCLUDE_APPOINTMENTS
CAPI_FLAG_FETCH_EXCLUDE_DAILYNOTES
CAPI_FLAG_FETCH_EXCLUDE_DAYEVENTS
CAPI_FLAG_FETCH_EXCLUDE_HOLIDAYS
CAPI_FLAG_FETCH_NO_FIELDHOLDERS
CAPI_FLAG_NONE
CAPI_FLAG_STORE_DELPROPS
CAPI_FLAG_STORE_MODPROPS
CAPI_GetCapabilities
CAPI_GetHandle
CAPI_GetStatusLevels
CAPI_GetStatusString
CAPI_H
CAPI_HANDLE_INITIALIZER
CAPI_HANDLE_MAILTO
CAPI_HANDLE_NAME
CAPI_HANDLE_TYPE
CAPI_HandleInfo
CAPI_LOGOFF_STAY_CONNECTED
CAPI_NOTIFY_EMAIL
CAPI_NOTIFY_SMS
CAPI_SESSION_INITIALIZER
CAPI_STATMASK_3
CAPI_STATMASK_3_FIELD
CAPI_STATMASK_4
CAPI_STATMASK_4_FIELD
CAPI_STATMASK_5
CAPI_STATMASK_5_FIELD
CAPI_STATMASK_CLASS
CAPI_STATMASK_CLASS_FIELD
CAPI_STATMASK_MODE_FIELD
CAPI_STATMODE_FATAL
CAPI_STAT_API
CAPI_STAT_API_BADPARAM
CAPI_STAT_API_CALLBACK
CAPI_STAT_API_CALLBACK_ERROR
CAPI_STAT_API_FLAGS
CAPI_STAT_API_HANDLE
CAPI_STAT_API_HANDLE_BAD
CAPI_STAT_API_HANDLE_NOTNULL
CAPI_STAT_API_HANDLE_NULL
CAPI_STAT_API_NULL
CAPI_STAT_API_POOL
CAPI_STAT_API_POOL_LOCKFAILED
CAPI_STAT_API_POOL_NOCONNECTIONS
CAPI_STAT_API_POOL_NOTINITIALIZED
CAPI_STAT_API_SESSION
CAPI_STAT_API_SESSION_BAD
CAPI_STAT_API_SESSION_NOTNULL
CAPI_STAT_API_SESSION_NULL
CAPI_STAT_API_STREAM
CAPI_STAT_API_STREAM_BAD
CAPI_STAT_API_STREAM_NOTNULL
CAPI_STAT_API_STREAM_NULL
CAPI_STAT_CONFIG
CAPI_STAT_CONFIG_CANNOT_OPEN
CAPI_STAT_DATA
CAPI_STAT_DATA_COOKIE
CAPI_STAT_DATA_DATE
CAPI_STAT_DATA_DATE_FORMAT
CAPI_STAT_DATA_DATE_INVALID
CAPI_STAT_DATA_DATE_NOT_LOCAL
CAPI_STAT_DATA_DATE_OUTOFRANGE
CAPI_STAT_DATA_DATE_RANGE
CAPI_STAT_DATA_EMAIL
CAPI_STAT_DATA_EMAIL_NOTSET
CAPI_STAT_DATA_ENCODING
CAPI_STAT_DATA_HOSTNAME
CAPI_STAT_DATA_HOSTNAME_FORMAT
CAPI_STAT_DATA_HOSTNAME_HOST
CAPI_STAT_DATA_HOSTNAME_SERVER
CAPI_STAT_DATA_ICAL
CAPI_STAT_DATA_ICAL_CANTMODIFYRRULE
CAPI_STAT_DATA_ICAL_COMPEXTRA
CAPI_STAT_DATA_ICAL_COMPMISSING
CAPI_STAT_DATA_ICAL_COMPNAME
CAPI_STAT_DATA_ICAL_COMPVALUE
CAPI_STAT_DATA_ICAL_FOLDING
CAPI_STAT_DATA_ICAL_IMPLEMENT
CAPI_STAT_DATA_ICAL_LINEOVERFLOW
CAPI_STAT_DATA_ICAL_MISSINGRECURID
CAPI_STAT_DATA_ICAL_MISSING_UID
CAPI_STAT_DATA_ICAL_NOATTENDEES
CAPI_STAT_DATA_ICAL_NONE
CAPI_STAT_DATA_ICAL_OVERFLOW
CAPI_STAT_DATA_ICAL_PARAMEXTRA
CAPI_STAT_DATA_ICAL_PARAMMISSING
CAPI_STAT_DATA_ICAL_PARAMNAME
CAPI_STAT_DATA_ICAL_PARAMVALUE
CAPI_STAT_DATA_ICAL_PROPEXTRA
CAPI_STAT_DATA_ICAL_PROPMISSING
CAPI_STAT_DATA_ICAL_PROPNAME
CAPI_STAT_DATA_ICAL_PROPVALUE
CAPI_STAT_DATA_ICAL_RECURMODE
CAPI_STAT_DATA_MIME
CAPI_STAT_DATA_MIME_CHARSET
CAPI_STAT_DATA_MIME_COMMENT
CAPI_STAT_DATA_MIME_ENCODING
CAPI_STAT_DATA_MIME_HEADER
CAPI_STAT_DATA_MIME_IMPLEMENT
CAPI_STAT_DATA_MIME_IMPLEMENT_NESTING
CAPI_STAT_DATA_MIME_LENGTH
CAPI_STAT_DATA_MIME_NOICAL
CAPI_STAT_DATA_MIME_NONE
CAPI_STAT_DATA_MIME_OVERFLOW
CAPI_STAT_DATA_QUERY
CAPI_STAT_DATA_QUERY_CONDITION_ILLEGAL_OPERATOR
CAPI_STAT_DATA_QUERY_CONDITION_NULL
CAPI_STAT_DATA_QUERY_CONDITION_PROPERTY_NULL
CAPI_STAT_DATA_QUERY_CONDITION_PROPERTY_TOO_LONG
CAPI_STAT_DATA_QUERY_CONDITION_UNKNOWN_OPERATOR
CAPI_STAT_DATA_QUERY_CONDITION_VALUE_NULL
CAPI_STAT_DATA_QUERY_CONDITION_VALUE_TOO_LONG
CAPI_STAT_DATA_QUERY_ILLEGAL_OPERATOR
CAPI_STAT_DATA_QUERY_NULL
CAPI_STAT_DATA_RRESULT
CAPI_STAT_DATA_RRESULT_EOR
CAPI_STAT_DATA_SERVER
CAPI_STAT_DATA_UID
CAPI_STAT_DATA_UID_ALREADYEXISTS
CAPI_STAT_DATA_UID_FORMAT
CAPI_STAT_DATA_UID_MULTIPLEMATCHES
CAPI_STAT_DATA_UID_NOTFOUND
CAPI_STAT_DATA_UID_RECURRENCE
CAPI_STAT_DATA_USERID
CAPI_STAT_DATA_USERID_EXT
CAPI_STAT_DATA_USERID_EXT_CONFLICT
CAPI_STAT_DATA_USERID_EXT_FORMAT
CAPI_STAT_DATA_USERID_EXT_INIFILE
CAPI_STAT_DATA_USERID_EXT_MANY
CAPI_STAT_DATA_USERID_EXT_NODE
CAPI_STAT_DATA_USERID_EXT_NONE
CAPI_STAT_DATA_USERID_FORMAT
CAPI_STAT_DATA_USERID_ID
CAPI_STAT_DATA_VCARD
CAPI_STAT_DATA_VCARD_COMPNAME
CAPI_STAT_DATA_VCARD_DUPERROR
CAPI_STAT_DATA_VCARD_PARAMEXTRA
CAPI_STAT_DATA_VCARD_PARAMMISSING
CAPI_STAT_DATA_VCARD_PARAMNAME
CAPI_STAT_DATA_VCARD_PARAMVALUE
CAPI_STAT_DATA_VCARD_PROPEXTRA
CAPI_STAT_DATA_VCARD_PROPMISSING
CAPI_STAT_DATA_VCARD_PROPNAME
CAPI_STAT_DATA_VCARD_PROPVALUE
CAPI_STAT_DATA_VCARD_VERSION_UNSUPPORTED
CAPI_STAT_LIBRARY
CAPI_STAT_LIBRARY_IMPLEMENTATION
CAPI_STAT_LIBRARY_INTERNAL
CAPI_STAT_LIBRARY_INTERNAL_CONTEXT
CAPI_STAT_LIBRARY_INTERNAL_COSMICRAY
CAPI_STAT_LIBRARY_INTERNAL_DATA
CAPI_STAT_LIBRARY_INTERNAL_EXPIRY
CAPI_STAT_LIBRARY_INTERNAL_FUNCTION
CAPI_STAT_LIBRARY_INTERNAL_OVERFLOW
CAPI_STAT_LIBRARY_INTERNAL_PROTOCOL
CAPI_STAT_LIBRARY_INTERNAL_UNKNOWN_EXCEPTION
CAPI_STAT_LIBRARY_INTERNAL_UNKNOWN_LIBRARY_ERRCODE
CAPI_STAT_LIBRARY_SERVER
CAPI_STAT_LIBRARY_SERVER_BUSY
CAPI_STAT_LIBRARY_SERVER_SUPPORT
CAPI_STAT_LIBRARY_SERVER_SUPPORT_CHARSET
CAPI_STAT_LIBRARY_SERVER_SUPPORT_STANDARDS
CAPI_STAT_LIBRARY_SERVER_SUPPORT_UID
CAPI_STAT_LIBRARY_SERVER_TIMEZONE
CAPI_STAT_LIBRARY_SERVER_UNAVAILABLE
CAPI_STAT_LIBRARY_SERVER_USERDATA
CAPI_STAT_OK
CAPI_STAT_SECUR
CAPI_STAT_SECUR_CANTBOOKATTENDEE
CAPI_STAT_SECUR_LOGON
CAPI_STAT_SECUR_LOGON_AUTH
CAPI_STAT_SECUR_LOGON_LOCKED
CAPI_STAT_SECUR_LOGON_LOCKED_RESOURCE
CAPI_STAT_SECUR_LOGON_LOCKED_SYSOP
CAPI_STAT_SECUR_READ
CAPI_STAT_SECUR_READ_ALARM
CAPI_STAT_SECUR_READ_PROPS
CAPI_STAT_SECUR_SERVER
CAPI_STAT_SECUR_SERVER_LICENSE
CAPI_STAT_SECUR_SERVER_SET_IDENTITY_SYSOP
CAPI_STAT_SECUR_SERVER_SET_IDENTITY_SYSOP_REMOTE
CAPI_STAT_SECUR_WRITE
CAPI_STAT_SECUR_WRITE_AGENDA
CAPI_STAT_SECUR_WRITE_EVENT
CAPI_STAT_SERVICE
CAPI_STAT_SERVICE_ACE
CAPI_STAT_SERVICE_ACE_LOAD
CAPI_STAT_SERVICE_ACE_SUPPORT
CAPI_STAT_SERVICE_FILE
CAPI_STAT_SERVICE_FILE_CLOSE
CAPI_STAT_SERVICE_FILE_DELETE
CAPI_STAT_SERVICE_FILE_MODE
CAPI_STAT_SERVICE_FILE_OPEN
CAPI_STAT_SERVICE_FILE_READ
CAPI_STAT_SERVICE_FILE_TEMP
CAPI_STAT_SERVICE_FILE_WRITE
CAPI_STAT_SERVICE_LIBRARY
CAPI_STAT_SERVICE_MEM
CAPI_STAT_SERVICE_MEM_ALLOC
CAPI_STAT_SERVICE_NET
CAPI_STAT_SERVICE_NET_TIMEOUT
CAPI_STAT_SERVICE_THREAD
CAPI_STAT_SERVICE_TIME
CAPI_STAT_SERVICE_TIME_GMTIME
CAPI_STORE_DELPROP
CAPI_STORE_REPLACE
CAPI_STORE_UPDATE
CAPI_SetConfigFile
CAPI_SetIdentity
CAPI_SetStreamCallbacks
CAPI_TASK_RANGE_COMPLETEDTIME
CAPI_TASK_RANGE_DUETIME
CAPI_TASK_RANGE_MASK
CAPI_TASK_RANGE_STARTTIME
CAPI_THISANDFUTURE
CAPI_THISANDPRIOR
CAPI_THISINSTANCE
FLAG_FETCH_AGENDA_ATTENDEE_ONLY
FLAG_FETCH_COMBINED
FLAG_FETCH_DO_NOT_EXPAND_RRULE
FLAG_FETCH_EXCLUDE_ACCEPTED
FLAG_FETCH_EXCLUDE_APPOINTMENTS
FLAG_FETCH_EXCLUDE_DAILYNOTES
FLAG_FETCH_EXCLUDE_DAYEVENTS
FLAG_FETCH_EXCLUDE_DECLINED
FLAG_FETCH_EXCLUDE_HOLIDAYS
FLAG_FETCH_EXCLUDE_NOTOWNER
FLAG_FETCH_EXCLUDE_UNCONFIRMED
FLAG_FETCH_EXPAND_RRULE
FLAG_FETCH_LOCALTIMES
FLAG_FETCH_VCARD_VERSION_2_1
FLAG_FETCH_VCARD_VERSION_3_0
FLAG_NONE
FLAG_STORE_CREATE
FLAG_STORE_IMPORT
FLAG_STORE_INVITE_SELF
FLAG_STORE_MODIFY
FLAG_STORE_REMOVE
FLAG_STORE_REPLACE
FLAG_STORE_REPLY
FLAG_STREAM_NOT_MIME
HANDLE_INITIALIZER
LOP_AND
LOP_OR
OP_EQ
OP_EQ_CS
OP_GE
OP_GT
OP_LE
OP_LT
OP_NE
OP_NE_CS
OP_STARTSWITH
OP_STARTSWITH_CS
QUERY_INITIALIZER
REQUEST_RESULT_INITIALIZER
SESSION_INITIALIZER
STREAM_INITIALIZER
USE_OLD_NAMES

FUNCTIONS

Unless otherwise noted, all functions return false on success. Check $rv against a CAPI_STAT* constant for more details (see GetStatusString. Refer to the Oracle CAPI SDK documentation for more details on the functions.

SetConfigFile
$rv = Oracle::CAPI::SetConfigFile($config_filename,$log_filename);

This will usually be called first, set the CAPI ini file and log filenames.

Authenticate
$capi_session = Oracle::CAPI::Authenticate($hostname,$username,$password);

Create an authenticated session for $hostname using $username and $password. Return the session object or undef on failure.

SysopAuthUser
$capi_session = Oracle::CAPI::SysopAuthUser($hostname,$nodeid,$sysop_pass,$uname);

Create an authenticated session for $hostname, $uname and $nodeid using the sysop password $sysop_pass. Return the session object or undef on failure.

CreateSession
$capi_session = Oracle::CAPI::CreateSession();

Initialize a session process.

ReconnectAuthUser
$capi_session = Oracle::CAPI::ReconnectAuthUser($capi_session,$HOSTNAME,$nodeid,$sysop_pass,$uname);

Reconnect $capi_session to $uname using the sysop password $sysop_pass.

FetchContactsFile
$rv = Oracle::CAPI::FetchContactsFile($capi_session,$VCARD_NAME_TYPE,$VCARD_STARTSWITH_OP,$chr,$output_filename);

Query for contacts and dump to $output_filename see CAPI SDK documentation for details on query search parameters.

NOTE! Returns false on SUCCESS.

CreateContact
$rv = Oracle::CAPI::CreateContact($capi_session,$vcard);

Create a contact represented by a new vCard $vcard.

StoreContactUpdate
$rv = Oracle::CAPI::StoreContactUpdate($capi_session,$vcard);

Updates a contact already on the server with the new vCard as $vcard. The vCard with that UID is then updated: all properties contained in the vCard on the server that are present in the passed-in vCard are modified to contain the property values of the passed-in vCard. Also, all properties that exist in the passed-in vCard that don't exist on the server vCard are added to the server vCard. All other properties not present in the passed-in vCard that exist on the server are ignored.

DeleteContact
$rv = Oracle::CAPI::DeleteContact($capi_session,$uid);

Delete the contact identified by the vCard's UID ($uid).

GetStatusString
$status = Oracle::CAPI::GetStatusString($rv);

Return the constant name (see EXPORT) for the return status $rv returned from many of the CAPI functions.

DestroyPerlSession
$rv = Oracle::CAPI::DestroyPerlSession($capi_session);

Destroy the session $capi_session.

BUGS

StoreContactUpdate had some problems due to the SDK implementation of early 9.0.4 releases.

There are many other functions available (see CAPI.xs), those not documented here may or may not work.

AUTHOR

Reed Sandberg, <reed_sandberg Ó’ yahoo>

SEE ALSO

Oracle CAPI SDK (CSDK) docs.

COPYRIGHT

Copyright (C) 2004 Reed Sandberg All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 772:

Non-ASCII character seen before =encoding in 'Ó’'. Assuming CP1252