Sun ONE logo     前へ     目次     索引     次へ     
Sun ONE Calendar Server プログラマーズガイド



第 2 章   CSAPI リファレンス


この節では、それぞれが API である 9 つの CSAPI インタフェースについて詳しく説明します。API はクライアント側とサーバ側に分けられます。

表 2-1 および表 2-2 に記載されている API を使用して、Sun™ ONE Calendar Server のデフォルトの動作を拡張またはオーバーライドします。

表 2-1    クライアント API

csIAccessControl  

アクセス制御メカニズムを拡張またはオーバーライドする  

csIAuthentication  

ログイン認証メカニズムを拡張またはオーバーライドする  

csICalendarLookup  

デフォルトのカレンダー検索メカニズムを拡張またはオーバーライドする  

csIDataTranslator  

入力および出力データの形式変換を拡張またはオーバーライドする  

csIPlugin  

モジュールのバージョン管理情報と詳細情報を提供する  

csIUserAttributes  

ユーザ属性の格納および検索メカニズムを拡張またはオーバーライドする  

csIQualifiedCalidLookup  

指定された修飾 URL のカレンダー ID を取得する  


表 2-2    サーバ API

csICalendarServer  

バージョン番号などの一般的なサーバ情報を提供する  

csIMalloc  

サーバのメモリー割り当てメカニズムに対するアクセスを可能にする  



csIAccessControl

Sun ONE Calendar Server のデフォルトのアクセス制御動作を拡張またはオーバーライドするには、このインタフェースにメソッドを実装します。


メソッド
csIAccessControl インタフェースは、次の 2 つのメソッドを実装します。



CheckAccess  

ユーザに対するアクセス制御の基準を設定する  

Init  

インタフェースが検出されて登録されたことを確認する  


説明
許可するアクセスのタイプを定義します。リターンコードを設定して、デフォルトのアクセス制御を使用するか、デフォルトをオーバーライドするかを指定する必要があります。


CheckAccess


目的
ユーザのカレンダーアクセスを設定します。


構文
PRUint32 CheckAccess (char* aUser, char* aCalid, PRInt32 *aAccessRequest, PRInt32 *aAccessAllowed, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次の 5 つのパラメータがあります。



aUser  

要求を発行する認証済みユーザ。 匿名によるアクセスの場合、pUserID は「anonymous」になる  

aCalid  

アクセス対象のカレンダーの calid  

aAccessRequest  

要求されたアクセスタイプを表すビットフラグのセット  

aAccessAllowed  

出力パラメータ。許可されたアクセスを表すビットフラグのセット。このメソッドは、aAccessRequest で指定されたビットのみを確認する  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
このメソッドを使用して、ユーザのアクセスタイプを要求します。ユーザの名前を aUser パラメータに、要求するアクセスタイプを aAccessRequest パラメータ (ビットマスク) に指定して送ります。システムは、aAccessRequest ビットマスクに指定されたアクセスタイプのみを確認します。返されるビットマスク aAccessAllowed は、要求したタイプに対してユーザが利用できるアクセスを表します。

匿名によるアクセスの場合は、ユーザ ID を「anonymous」にします。

次に、利用可能なアクセスタイプを定義する ICS_ACCESSTYPE 定数 (ビットマップ) を示します。

表 2-3    ICS_ACCESSTYPE 定数 

アクセスタイプ

ビットマップ

ICS_ACCESSTYPE_NONE  

0x00000000  

ICS_ACCESSTYPE_READCOMPONENT  

0x00000001  

ICS_ACCESSTYPE_WRITECOMPONENT  

0x00000002  

ICS_ACCESSTYPE_CREATECOMPONENT  

0x00000008  

ICS_ACCESSTYPE_DELETECOMPONENT  

0x00000010  

ICS_ACCESSTYPE_READCALENDAR  

0x00000020  

ICS_ACCESSTYPE_WRITECALENDAR  

0x00000040  

ICS_ACCESSTYPE_CREATECALENDAR  

0x00000080  

ICS_ACCESSTYPE_DELETECALENDAR  

0x00000100  

ICS_ACCESSTYPE_SCHEDULE  

0x00000200  

ICS_ACCESSTYPE_FREEBUSY  

0x00000400  

ICS_ACCESSTYPE_SELF_ADMIN  

0x00000800  

ICS_ACCESSTYPE_ALL  

0xFFFFFFFF  

このメソッドを使用して、独自のアクセス制御手順を指定します。ネイティブアクセス制御メカニズムを拡張して、独自の処理を先に (場所の変更はなし) 実行してからデフォルトの処理を実行するか、またはネイティブアクセス制御メカニズムを完全に置き換えることができます。


Init


目的
インタフェースが登録されていることを確認して、サーバへの参照を提供します。


構文
PRUint32 Init (nsISupports *a Server) = 0;


パラメータ

このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。



csIAuthentication

Calendar Server のデフォルトの認証動作を拡張またはオーバーライドするプラグインは、すべてこのインタフェースを実装する必要があります。


メソッド
csIAuthentication インタフェースは、次の 5 つのメソッドを実装します。



ChangePassword  

ユーザのパスワードを変更する  

Init  

インタフェースが検出されて登録されたことを確認する  

Logon  

ユーザをログインする  

Logout  

ユーザをログアウトする  

VerifyUserExists  

ユーザの存在を確認する  


説明
選択した認証方法を実装するログオン、ログオフ、確認およびパスワードの
メソッドを定義できます。1 つのメソッドを置き換えた後も、その他のメソッドではデフォルト (の実装) を継続して使用できます。 各メソッドは、リターンコードのパラメータ (aReturnCode) を使用して、メソッドの実行後もデフォルトのアクセス制御処理を継続するかどうかをサーバに指示します。リターンコードの値は、次の定数のいずれかにします。

NS_CONTINUE_DEFAULT_PROCESSING

サーバがデフォルトのアクセス制御処理を続けることを表す

NS_OVERRIDE_DEFAULT_PROCESSING

サーバのネイティブアクセス制御のメカニズムをオーバーライドすることを表す


ChangePassword


目的
指定されたユーザのパスワードを変更します。


構文
PRUint32 Init (char* aUser, char* aOldPassword, char* aNewPassword, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次の 4 つのパラメータがあります。



aUser  

ユーザの名前  

aOldPassword  

古いパスワード  

aNewPassword  

新しいパスワード  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_AUTHENTICATION_CHANGEPASSWORD_SUCCESS。 失敗した場合は、NS_AUTHENTICATION_CHANGEPASSWORD_FAILURE


説明
指定対象ユーザのパスワードを変更します。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を提供します。


構文
PRUint32 Init (nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。


Logon


目的
プレーンテキストによるログインのための認証手順を拡張またはオーバーライドします。


構文
PRUint32 Login (char* aUser, char* aPassword, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次の 3 つのパラメータがあります。



aUser  

ユーザのログイン名  

aPassword  

プレーンテキストのパスワード  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_AUTHENTICATION_LOGON_SUCCESS。 失敗した場合は、 NS_AUTHENTICATION_LOGON_FAILURE


説明
このメソッドを使用して、Sun ONE Calendar Server へのログイン時の独自の認証手順を指定します。ネイティブの認証メカニズムを拡張して、独自の処理を先に実行してからデフォルトの処理を実行するか、またはネイティブの認証メカニズムを完全に置き換えることができます。


Logout


目的
ユーザをログアウトします。


構文
PRUint32 Init (char* aUser,PRInt32 *aReturnCode) = 0;


パラメータ

このメソッドには、次の 2 つのパラメータがあります。



aUser  

ログアウトするユーザのユーザ ID  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明

VerifyUserExists


目的
ユーザ ID が LDAP ディレクトリにあることを確認します。


構文
PRUint32 Init (char* aUser,PRInt32 *aReturnCode) = 0;


パラメータ

このメソッドには、次の 2 つのパラメータがあります。



aUser  

ログアウトするユーザのユーザ ID  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明


csICalendarLookup

デフォルトのカレンダー検索 (LDAP) を拡張またはオーバーライドするには、このインタフェースのメソッドを実装します。 Sun ONE Calendar Server で提供されるカレンダー検索は、アルゴリズム型または LDAP の 2 種類です。 LDAP がデフォルトです。 このプラグインのメソッドには、LDAP の検索だけで使用されるものもあります。

次の表は、このプラグインのメソッドと、メソッドがアルゴリズム型 (Alg) または LDAP のどちらの検索をサポートするか、およびメソッドの説明を一覧表示しています。


メソッド
csICalendarLookup は、次のメソッドを実装します。



メソッド

タイプ

説明

DeleteHostnameForCalid  

LDAP のみ  

特定のカレンダーのカレンダー検索データベースからホスト名エントリを削除する  

FreeCalid  

Alg、LDAP の両方  

以前に割り当てた、完全修飾 calid を解放する  

FreeType  

Alg、LDAP の両方  

以前に割り当てたタイプを解放する  

GetHostnameForCalid  

LDAP のみ  

calid で指定されたカレンダーに関連するカレンダー検索データベースからホスト名を取得する  

Init  

Alg、LDAP の両方  

インタフェースが検出されて登録されたことを確認する  

QualifyCalid  

Alg、LDAP の両方  

修飾 calid の名前を返す  

QueryType  

Alg、LDAP の両方  

プラグインのタイプを照会する  

SetHostnameForCalid  

LDAP のみ  

作成した calid に関連するカレンダーユーザのホスト名を設定する  


説明
1 つ以上のメソッドを実装することにより、カレンダー検索を制御できます。


piReturnCode の値
piReturnCode パラメータのリターンコードは、次の 4 つがあります。

  • LDAP サーバとの接続不可

  • LDAP エントリを変更するための権限が不適切

  • LDAP に接続する資格が無効

  • バックエンドホストの値がない


DeleteHostnameForCalid


目的
指定した calid に関連する LDAP のホスト名を削除します。


構文
PRInt32 GetHostnameForCalid(char* psCalid, PRInt32 *piReturnCode) = 0;


パラメータ
以下は、このメソッドのパラメータと定義です。



psCalid  

ホスト名の要求対象となる calid  

piReturnCode  

0= 成功、ゼロ以外は失敗を表す  


戻り値
成功の場合はゼロ。失敗の場合はゼロ以外のコードを返します。 「piReturnCode の値」 を参照してください。


説明
カレンダー検索データベースで指定されたカレンダーに関連するホスト名を削除します。 これは、アルゴリズム型実装の無演算命令です。


FreeCalid


目的
以前に割り当てた、完全修飾カレンダー ID (calid) を解放します。


構文
PRUint32 FreeCalid(char** aQualifiedCalid,PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aQualifiedCalid  

解放する calid  

aReturnCode  

成功した場合は、NS_OK。失敗した場合は、通常の処理は続行しない  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
検索の両方の実装で使用されます。


FreeType


目的
以前に割り当てたデータベースのプラグインのタイプを解放します。


構文
PRUint32 FreeType(char* aType,PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aType  

解放するデータベースのプラグインのタイプ  

aReturnCode  

成功した場合は、NS_OK。失敗した場合は、通常の処理は続行しない  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
QueryType メソッドで割り当てた文字列を解放します。 両方の実装で使用されます。


GetHostnameForCalid


目的
指定した calid に関連するホスト名を検出します。


構文
PRInt32 GetHostnameForCalid(char* psCalid, char** ppsHost, PRInt32 *piReturnCode) = 0;


パラメータ
以下は、このメソッドのパラメータと定義です。



psCalid  

ホスト名の要求対象となる calid  

ppsHost  

返されるホスト名  

piReturnCode  

0= 成功、ゼロ以外は失敗を表す  


戻り値
成功の場合はゼロ。失敗の場合はゼロ以外のコードを返します。 「piReturnCode の値」を参照してください。


説明
カレンダー検索データベースのカレンダーに関連するホスト名を取得します。 これはアルゴリズム型実装の無演算命令です。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を提供します。


構文
PRUint32 Init(nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。


QualifyCalid


目的
相対 CALID を修飾します。


構文
PRUint32 QualifyCalid(char* psCalid, char** ppsQualifiedCalid, PRInt32 *piReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



psCalid  

修飾される calid  

ppsQualifiedCalid  

復帰時に、修飾された calid の URL が含まれる  

piReturnCode  

0= 成功、ゼロ以外は失敗を表す  


戻り値
成功した場合はゼロ。失敗した場合は、ゼロ以外のエラーコード。


説明
修飾 calid の名前を返します。 修飾 calid の形式は次のとおりです。 dwp://back-end host[:port]/psCalid


QueryType


目的
データベースのプラグインのタイプをクエリします。


構文
PRUint32 QueryType(char* aType,PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aType  

CLD (Calendar Lookup Database、カレンダー検索データベース) のタイプ  

aReturnCode  

成功した場合は、NS_OK。失敗した場合は、通常の処理は続行しない  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
この関数は、プラグインが実装する CLD のタイプを表す文字列を検索します。

サポートされている唯一のタイプは「アルゴリズム型」で、これは正規表現をサポートします。


SetHostnameForCalid


目的
現在は使用されません。 カレンダーユーザのホスト名を設定します。


構文
PRInt32 SetHostnameForCalid(char* psCalid, char* ppsHost, PRInt32 *piReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータを使用します。



psCalid  

ホスト名を設定する calid  

ppsHost  

設定するホスト名  

piReturnCode  

0= 成功、ゼロ以外は失敗を表す  


戻り値
成功の場合はゼロ。失敗の場合はゼロ以外 。


説明
作成する calid のホスト名を設定します。 これはアルゴリズム型実装の無演算命令です。



csIDataTranslator

これは、データ変換機能のプラグインのインタフェースです。すべてのパラメータはプラグインによって割り当てる必要があります。


メソッド
csIDataTranslator インタフェースは、次の 3 つのメソッドを実装します。



GetSupportedContentTypes  

このデータベース変換機能がサポートするコンテンツタイプをサーバに通知する  

Init  

インタフェースが検出されて登録されたことを確認する  

Translate  

カレンダーデータを指定された MIME 形式に変換する  


説明
このインタフェースを使用して、データベース間や様々なデータ変換機能との間でやり取りされるカレンダーデータの HTML 本文の内容を、操作したり変更したりできます。 データ変換機能は、WCAP 応答の出力形式 (fmt-out) コンポーネントを操作します。

Sun ONE Calendar Server がカレンダーデータの変換用としてサポートする MIME タイプは、次のとおりです。

MIME タイプ

説明

text/calendar

iCalendar

text/xml

iCalendar in XML

text/js

Native JavaScript

CSAPI データ変換モジュールは、GetSupportedContentType メソッドを使用して、特定の MIME タイプでサーバに登録します。データ変換機能は、サポートされている任意の MIME タイプで入力データを要求できます。

モジュールが入力として受け入れる MIME タイプの入力データである場合、サーバはそのデータをモジュールの Translate メソッドに渡します。データは、データベース変換機能によってサポートされている MIME タイプに変換され、サーバに戻されます。


GetSupportedContentTypes


目的
このデータベース変換機能がサポートするコンテンツタイプを取得します。


構文
PRUint32 GetSupportedContentTypes (char** aSupportedInContentTypes, char** aSupportedOutContentType, char** aPreferredInContentType, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aSupportedInContentTypes  

サーバが変換機能に、入力として送信できるコンテンツタイプのリスト。 NULL で終わっている文字列の配列  

aSupportedOutContentType  

プラグインによるデータ変換後のコンテンツタイプ  

aPreferredInContentType  

プラグインが優先的に受け取るコンテンツタイプ。最初のパラメータで渡された、サポートされているコンテンツタイプのいずれかでなければならない  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のコード。


説明
このデータベース変換機能がサポートするコンテンツタイプを取得します。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を取得します。


構文
PRUint32 Init (nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。


Translate


目的
コンテンツタイプの変換機能を実装します。


構文
PRUint32 Translate (char* aInContentType, char* aOutContentType, char** aInBuffer, char** aOutBuffer, PRInt32 *aInSize, PRInt32 *aOutsize, PRInt32 *aReturncode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aInContentType  

入力コンテンツタイプ  

aOutContentType  

出力コンテンツタイプ  

aInBuffer  

入力データバッファ  

aOutBuffer  

出力データバッファ  

aInSize  

入力バッファのサイズ  

aOutSize  

出力バッファのサイズ  

aReturnCode  

復帰時に、サーバでデフォルトの認証手順を継続して使用するかどうかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のコード。


説明
このメソッドは、指定したバッファから指定した入力形式のコンテンツを取り出して、コンテンツを元の形式から出力形式に変換します。指定した出力バッファに変換されたコンテンツを保存し、指定された場所に出力バッファのサイズを保存します。



csIPlugin

起動時にプラグインモジュールの情報をサーバに提供するには、このインタフェースにメソッドを実装する必要があります。


メソッド
csIPlugin インタフェースは、次の 4 つのメソッドを実装します。



GetDescription  

プラグインの機能を説明するテキストを取得する  

GetVendorName  

このプラグインを提供しているベンダーを説明するテキストを取得する  

GetVersion  

プラグインのメジャーおよびマイナーバージョンを取得する。この値は 1.0 以上でなければならない。 各プラグイン API の現在のバージョン番号のリストについては、「CSAPI の概要」の章にある「プラグイン API の現在のバージョン」を参照  

Init  

インタフェースが検出されて登録されたことを確認する  


説明
このインタフェースは必須ではありませんが、各モジュールに実装して、サーバがモジュールをロードするときに、バージョン情報を取得できるようにすることを、強くお勧めします。これらのメソッドは、詳細情報をサーバに返します。


GetDescription


目的
モジュールの説明テキストを取得します。


構文
PRUint32 GetDescription (nsString& aDescription) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aDescription  

復帰時に、モジュールの説明テキストが含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
このメソッドを使用して、モジュールの説明テキストを提供します。


GetVendorName


目的
モジュールを提供するベンダーの説明テキストを取得します。


構文
PRInt32 GetVendorName (nsString& aVendorName) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aVendorName  

復帰時に、ベンダーを説明するテキストが含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
このメソッドを使用して、モジュールの供給元を特定します。


GetVersion


目的
起動時に、サーバにバージョン情報を提供します。


構文
PRUint32 GetVersion (PRUint32& aMajorValue, PRUint32& aMinorValue) = 0;


パラメータ
このメソッドには、次の 2 つのパラメータがあります。



aMajorValue  

復帰時に、メジャーバージョン番号が含まれる  

aMinorValue  

復帰時に、マイナーバージョン番号が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
このメソッドを使用して、モジュールのメジャーおよびマイナーのバージョン番号を特定します。バージョンは、1.0 以上でなければなりません。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を取得します。


構文
PRUint32 Init (nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。



csIQualifiedCalidLookup

渡された修飾 URL のカレンダー ID を検索するデフォルトのメソッドを拡張またはオーバーライドするには、このインタフェースにメソッドを実装します。


メソッド
csICalendarLookup は、次の 2 つのメソッドを実装します。



FindCalid  

修飾 URL のカレンダー ID を返す  

Init  

インタフェースが検出されて登録されたことを確認する  


説明
渡された修飾 URL のカレンダー ID を検索します。 calid が検出できない場合は、このコマンドはエラーを返します。


FindCalid


目的
指定された URL のカレンダー ID を検索します。


構文
PRUint32 FindCalid (char* pQualifiedURL, char** ppCalidOut, PRInt32 *piCalidSize, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



pQualifiedURL  

検索する URL  

ppCalidOut  

検出された calid のアドレスに対するポインタ  

piCalidSize  

返された calid のサイズ  

aReturnCode  

復帰時に、サーバでデフォルトの処理を引き続き使用するか、またはオーバーライドするかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
渡された修飾 URL の calid


説明

渡された修飾 URL のポインタを使用して、カレンダー ID データベースの検索を実行します。 一致するものが見つかった場合は、calid のアドレスポインタと calid のサイズを示す整数を返します。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を提供します。


構文
PRUint32 Init (nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明

サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。



csIUserAttributes

ユーザ属性の設定または検索の手順をオーバーライドするには、このインタフェースにメソッドを実装します。


メソッド
csIUserAttributes インタフェースは、次の 4 つのメソッドを実装します。



FreeAttribute  

検索した属性を格納するために使用するメモリーを解放する  

GetAttribute  

ユーザの属性値を検索する  

Init  

インタフェースが検出されて登録されたことを確認する  

SetAttribute  

ユーザの属性値を設定する  


説明
ユーザ属性のインタフェースにより、CSAPI モジュールは、受信するすべての要求を保守または操作して、ユーザ属性値の設定や検索を行うことができます。選択した手法を使用して、属性の検索や設定を行うメソッドを提供します。


FreeAttribute


目的
ローカルの属性記憶域と関連付けられたメモリーを解放します。


構文
PRint32 FreeAttribute (char* aValue, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次の 2 つのパラメータがあります。



aValue  

検索した属性値を格納するために割り当てた場所  

aReturnCode  

復帰時に、サーバでデフォルトの処理を引き続き使用するか、またはオーバーライドするかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
GetAttribute メソッドを使用して属性値を検索すると、選択したメモリー管理手法で割り当てた場所に値が格納されます。 メモリーが不要になった場合は、FreeAttribute メソッドを使用して、同じメモリー管理手法でメモリーを解放します (csIMalloc を参照)。


GetAttribute


目的
ユーザの属性値を検索します。


構文
PRUint32 GetAttribute (char* aUser, char* aKey, char** aValue, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次の 4 つのパラメータがあります。



aUser  

ユーザの名前  

aKey  

属性キー  

aValue  

復帰時に、検索された属性値のポインタが含まれる  

aReturnCode  

復帰時に、サーバでデフォルトの処理を引き続き使用するか、またはオーバーライドするかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
特定のユーザに対する指定された属性値を検索し、その値を aValue がポイントする場所に格納します。返される属性の格納場所を割り当てる必要があります。格納場所が不要になった場合は、(FreeAttribute メソッドを使用して) その格納場所を解放する必要があります。


Init


目的
インタフェースが登録されていることを確認し、サーバへの参照を取得します。


構文
PRUint32 Init (nsISupports *aServer) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aServer  

復帰時に、モジュールが登録されているサーバへの参照が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、モジュールのロード時にインタフェースを検出して登録した後、このメソッドを呼び出して、操作が成功したことを確認します。 aServer で返されたポインタを使用して、サーバへの呼び出しを行うことができます。


SetAttribute


目的
ユーザの属性値を設定します。


構文
PRUint32 SetAttribute (char* aUser, char* aKey, char* aValue, PRInt32 *aReturnCode) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aUser  

ユーザの名前  

aKey  

属性キー  

aValue  

 

aReturnCode  

復帰時に、サーバでデフォルトの処理を引き続き使用するか、またはオーバーライドするかを決定する定数が含まれる

次の定数のいずれかが含まれる

  • NS_CONTINUE_DEFAULT_PROCESSING

  • NS_OVERRIDE_DEFAULT_PROCESSING

 


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
指定したユーザの指定した属性を、指定した値に設定します。



csICalendarServer

サーバのバージョン情報をプラグインモジュールに提供します。


メソッド

csICalendarServer インタフェースは、次の 2 つのメソッドを実装します。



GetVersion  

Calender Serverのバージョン情報を取得する  

Init  

インタフェースが検出されて登録されたことを確認する  


説明
プラグインモジュールは、csICalendarServer インタフェースにクエリして、Sun ONE Calendar Server の実行インスタンスのバージョン情報を取得できます。 このオブジェクトはクライアントが存在する間は有効であるため、Init は参照を返しません。


GetVersion


目的
プラグインモジュールにサーバのバージョン情報を提供します。


構文
PRUint32 GetVersion (PRUint32& aMajorValue, PRUint32& aMinorValue) = 0;


パラメータ
このメソッドには、次の 2 つのパラメータがあります。



aMajorValue  

復帰時に、メジャーバージョン番号が含まれる  

aMinorValue  

復帰時に、マイナーバージョン番号が含まれる  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
このメソッドを使用して、モジュールのメジャーおよびマイナーのバージョン番号を特定します。バージョンは、1.0 以上でなければなりません。


Init


目的
インタフェースが登録されていることを確認します。


構文
PRUint32 Init() = 0;


パラメータ
このメソッドには、パラメータはありません。


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、このメソッドを呼び出して、インタフェースが検出されて正常に登録されたことを確認します。



csIMalloc

メモリーの割り当てと解放を行います。


メソッド
csIMalloc インタフェースは、次の 6 つのメソッドを実装します。



Calloc  

ある個数のオブジェクト用にメモリーの割り当てと初期化を行う  

Free  

使用しなくなったメモリーを解放する  

FreeIf  

メモリーを解放して、NULL ポインタを使用可能にする  

Init  

インタフェースが検出されて登録されたことを確認する  

Malloc  

ある量のメモリーを割り当てる  

Realloc  

以前に割り当てたメモリーを割り当て直す  


説明
プラグインモジュールは、このオブジェクトを使用することで、サーバの効率的なメモリー割り当て手法を利用できます。このオブジェクトはクライアントが存在する間は有効であるため、Init は参照を返しません。


Calloc


目的
ある個数のオブジェクト用にメモリーを割り当て、ゼロで初期化します。


構文
void* Calloc (PRUint32 aSize, PPRUint32 aNum) = 0;


パラメータ
このメソッドには、次の 2 つのパラメータがあります。



aSize  

各オブジェクトのバイト単位のサイズ  

nNum  

オブジェクトの数  


戻り値
成功した場合は、割り当てられたメモリーのポインタ失敗した場合は、NULL


説明
このメソッドは、指定したサイズの指定した数のオブジェクトに十分なメモリーを割り当て、メモリーをゼロで初期化します。


Free


目的
以前に Malloc メソッドで割り当てたメモリーを解放します。


構文
PRUint32 Free (void * aPtr) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aPtr  

解放するメモリーのポインタ  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
C/C++ の対応するものと同じ方法でこのメソッドを使用して、以前に割り当てたメモリーを解放します。


FreeIf


目的
以前に Malloc メソッドで割り当てたメモリーを解放して、NULL ポインタを使用可能にします。


構文
PRUint32 FreeIf (void * aPtr) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aPtr  

解放するメモリーのポインタか、あるいは NULL  


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
aPtrNULL 以外の場合は、指定した場所のメモリーを解放します。


Init


目的
インタフェースが登録されていることを確認します。


構文
PRUint32 Init() = 0;


パラメータ
このメソッドには、パラメータはありません。


戻り値
成功した場合は、NS_OK。失敗した場合は、ゼロ以外のエラーコード。


説明
サーバは、このメソッドを呼び出して、インタフェースが検出されて正常に登録されたことを確認します。


Malloc


目的
指定した量のメモリーを割り当てます。


構文
void* Malloc (PRUint32 nBytes) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



nBytes  

割り当てるメモリーのバイト単位のサイズ  


戻り値
成功した場合は、割り当てられたメモリーのポインタをかえします。失敗した場合は、NULLを返します


説明
C/C++ の対応するものと同じ方法でこのメソッドを使用します。


Realloc


目的
以前に割り当てたメモリーを割り当て直します。


構文
void* Realloc (void * aPtr,PRUint32 nBytes) = 0;


パラメータ
このメソッドには、次のパラメータがあります。



aPtr  

以前に割り当てたメモリーのポインタ  

nBytes  

割り当てるメモリーのバイト単位のサイズ  


戻り値
成功した場合は、割り当てられたメモリーのポインタ。失敗した場合は、NULL


説明
C/C++ の対応するものと同じ方法でこのメソッドを使用して、以前に割り当てたメモリーを割り当て直します。


前へ     目次     索引     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最終更新日 2002 年 8 月 29 日