package com_maroontress_libcgi_mime

class ContentType

#define com_maroontress_libcgi_mime_ContentType_IMPORT
#include <com/maroontress/libcgi/mime/ContentType.h>
コンテンツタイプです。

Struct Summary

struct ContentType
          コンテンツタイプの実体となる構造体です。

Method Summary

 struct ContentType * ContentType_create(const char * s)
          コンテンツタイプを生成します。
 void ContentType_free(struct ContentTypect)
          コンテンツタイプを解放します。
 int ContentType_matches(struct ContentTypect, const char * mainType, const char * subType)
          コンテンツタイプを比較します。
 char * ContentType_getType(struct ContentTypect)
          コンテンツタイプのタイプを表す文字列を取得します。
 struct Parameter * ContentType_getParameter(struct ContentTypect, const char * name)
          パラメータを取得します。

Struct Detail

struct ContentType

コンテンツタイプの実体となる構造体です。

Method Detail

ContentType_create

struct ContentType * ContentType_create( const char * s)
コンテンツタイプを生成します。

sが表す文字列はRFC 2045に示される次の形式である必要があります。

type "/" subtype *(";" parameter)

ただしparameterはRFC 2045と互換性ある次の形式でなければなりません。

parameter := attribute ["=" value]
attribute := token ; Matching of attributes is ALWAYS case-insensitive.
value := token / quoted-string

パラメータの値valuequoted-stringである場合、両端のクォート文字(")は取り除かれます。

戻り値が参照するオブジェクトはContentType_free()で解放しなければなりません。

See:
RFC 2045
Parameters:
s - コンテンツタイプを表す文字列
Returns:
コンテンツタイプのインスタンス

ContentType_free

void ContentType_free( struct ContentTypect)
コンテンツタイプを解放します。

ctNULLのときはなにもしません。呼び出し後はctが参照するオブジェクトを参照してはなりません。

Parameters:
ct - コンテンツタイプのインスタンス

ContentType_matches

int ContentType_matches( struct ContentTypect,
const char * mainType,
const char * subType)
コンテンツタイプを比較します。

subTypeNULLの場合は主タイプとmainTypeが等しい場合にマッチします。

subTypeが非NULLの場合は主タイプとmainTypeが等しく、かつsubTypeと副タイプが等しい場合にマッチします。

Parameters:
ct - コンテンツタイプのインスタンス
mainType - 主タイプ
subType - 副タイプ
Returns:
マッチする場合は非0、そうでなければ0

ContentType_getType

char * ContentType_getType( struct ContentTypect)
コンテンツタイプのタイプを表す文字列を取得します。

戻り値が参照するオブジェクトはctを解放するまで有効です。戻り値が参照するオブジェクトを変更、解放してはなりません。

Parameters:
ct - コンテンツタイプのインスタンス
Returns:
「主タイプ/副タイプ」という形式の文字列

ContentType_getParameter

struct Parameter * ContentType_getParameter( struct ContentTypect,
const char * name)
パラメータを取得します。

名前がnameと一致するパラメータを取得します。パラメータの名前とnameを比較する際には大文字小文字は区別されません。一致するパラメータが存在しない場合はNULLを返します。

戻り値が参照するオブジェクトはctを解放するまで有効です。戻り値が参照するオブジェクトを解放してはなりません。

Parameters:
ct - コンテンツタイプのインスタンス
name - パラメータの名前
Returns:
パラメータが存在する場合はそのインスタンス、そうでなければNULL