package com_maroontress_libcgi

class Request

#define com_maroontress_libcgi_Request_IMPORT
#include <com/maroontress/libcgi/Request.h>
CGIのリクエストです。

フォームのパラメータの値を取得する機能を提供します。


Struct Summary

struct Request
          リクエストの実装となる構造体です。
 const struct Request_Methods * methods
          リクエストの実装クラスのメソッドです。
 union Request_Impl * impl
          リクエストの実装クラスのインスタンスです。

struct Request_Methods
          リクエストの実装クラスのメソッドです。
 void (*free)(union Request_Implimpl)
          リクエストの実装を解放します。
 char * (*getValue)(union Request_Implimpl, const char * name)
          パラメータの値を取得します。
 struct com_maroontress_libcgi_mime_ContentType * (*getContentType)(union Request_Implimpl, const char * name)
          パラメータの値のコンテンツタイプを取得します。
 int (*writeValue)(union Request_Implimpl, const char * name, union std_io_OutputTube out)
          パラメータの値を出力ストリームに書きます。

Union Summary

union Request_Impl
          リクエストの実装クラスの実体となる共用体です。

Method Summary

 struct Request * Request_create(void)
          リクエストを生成します。
 void Request_free(struct Requestreq)
          リクエストを解放します。
 void Request_initialize(struct Requestreq, const struct Request_Methodsmethods, union Request_Implimpl)
          リクエストを初期化します。
 struct com_maroontress_libcgi_mime_ContentType * Request_getContentType(struct Requestreq, const char * name)
          パラメータの値のコンテンツタイプを取得します。
 char * Request_getValue(struct Requestreq, const char * name)
          パラメータの値を取得します。
 int Request_writeValue(struct Requestreq, const char * name, union std_io_OutputTube out)
          パラメータの値を出力ストリームに書きます。

Struct Detail

struct Request

リクエストの実装となる構造体です。

methods

const struct Request_Methods * methods

リクエストの実装クラスのメソッドです。

impl

union Request_Impl * impl

リクエストの実装クラスのインスタンスです。

struct Request_Methods

リクエストの実装クラスのメソッドです。

free

void (*free)( union Request_Implimpl)
リクエストの実装を解放します。

呼び出し後はimplが参照するオブジェクトを参照してはなりません。

Parameters:
impl - リクエストの実装

getValue

char * (*getValue)( union Request_Implimpl,
const char * name)
パラメータの値を取得します。

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

Parameters:
impl - リクエストの実装
name - パラメータ名
Returns:

getContentType

struct com_maroontress_libcgi_mime_ContentType *
          (*getContentType)( union Request_Implimpl,
const char * name)
パラメータの値のコンテンツタイプを取得します。

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

Parameters:
impl - リクエストの実装
name - パラメータ名
Returns:
コンテンツタイプ

writeValue

int (*writeValue)( union Request_Implimpl,
const char * name,
union std_io_OutputTube out)
パラメータの値を出力ストリームに書きます。

エラーが発生した場合は−1を返します。

Parameters:
impl - リクエストの実装
name - パラメータ名
out - 出力ストリーム
Returns:
成功した場合は0、そうでなければ−1

Union Detail

union Request_Impl

リクエストの実装クラスの実体となる共用体です。

Method Detail

Request_create

struct Request * Request_create( void)
リクエストを生成します。

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

Returns:
リクエスト

Request_free

void Request_free( struct Requestreq)
リクエストを解放します。

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

Parameters:
req - リクエスト

Request_initialize

void Request_initialize( struct Requestreq,
const struct Request_Methodsmethods,
union Request_Implimpl)
リクエストを初期化します。

リクエストの実装クラスが使用するメソッドです。

Parameters:
req - リクエスト
methods - リクエストの実装クラスのメソッド
impl - リクエストの実装クラスのインスタンス

Request_getContentType

struct com_maroontress_libcgi_mime_ContentType *
          Request_getContentType( struct Requestreq,
const char * name)
パラメータの値のコンテンツタイプを取得します。

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

Parameters:
req - リクエスト
name - パラメータ名
Returns:
コンテンツタイプ

Request_getValue

char * Request_getValue( struct Requestreq,
const char * name)
パラメータの値を取得します。

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

Parameters:
req - リクエスト
name - パラメータ名
Returns:

Request_writeValue

int Request_writeValue( struct Requestreq,
const char * name,
union std_io_OutputTube out)
パラメータの値を出力ストリームに書きます。

エラーが発生した場合は−1を返します。

Parameters:
req - リクエスト
name - パラメータ名
out - 出力ストリーム
Returns:
成功した場合は0、そうでなければ−1