前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server 5.1 プログラマーズマニュアル



第 2 章   CSAPI リファレンス


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

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

表 2-1 クライアント API

csIAccessControl  

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

csIAuthentication  

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

csICalendarLookup  

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

csIDataTranslator  

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

csIPlugin  

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

csIUserAttributes  

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

csIQualifiedCalidLookup  

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


表 2-2 サーバ API

csICalendarServer  

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

csIMalloc  

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



csIAccessControl

iPlanet 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


説明
このメソッドを使用して、iPlanet 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) を拡張またはオーバーライドするには、このインタフェースにメソッドを実装します。


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



Init  

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

QualifyCalid  

相対 CALID を修飾する  

FreeCalid  

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

QueryType  

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

FreeType  

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


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


Init


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


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


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



aServer  

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


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


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


QualifyCalid


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


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


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



aRelativeCalid  

修飾対象の相対 CALID  

aQualifiedCalid  

復帰時に、修飾された CALID の URL を含む  

aReturnCode  

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


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


説明

FreeCalid


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


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


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



aQualifiedCalid  

解放する CALID  

aReturnCode  

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


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


説明

QueryType


目的
データベースのプラグインのタイプを照会します。


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


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



aType  

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

aReturnCode  

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


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


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

サポートされている唯一のタイプは「algorithmic」で、これは正規表現をサポートします。


FreeType


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


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


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



aType  

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

aReturnCode  

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


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


説明
QueryType メソッドで割り当てた文字列を解放します。



csIDataTranslator

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


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



GetSupportedContentTypess  

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

Init  

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

Translate  

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


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

iPlanet Calendar Server では、カレンダーデータの変換用として次の MIME タイプをサポートします。

MIME タイプ

説明

text/calendar

iCalendar

text/xml

XML 形式の iCalendar

text/js

ネイティブ 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 以上であることが必要
 

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


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


構文
RUint32 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 インタフェースに照会して、 iPlanet 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++ の対応するものと同じ方法でこのメソッドを使用して、以前に割り当てたメモリを割り当て直します。


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

最終更新日: 2002 年 1 月 30 日