libharkio3
A File I/O and Data Manipulation Library for HARK
 All Classes Files Functions Variables Enumerations Enumerator Macros Groups
Enumerations | Functions
libharkio3_xml.c File Reference

harkio_XML の API 群。 XML の読み込み・書き込みなどを受け持つ。 More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "libharkio3.h"
#include <libxml/xmlreader.h>
Include dependency graph for libharkio3_xml.c:

Enumerations

enum  harkio_XML_status {
  STATE_NONE, STATE_CONFIG, STATE_POSITIONS, STATE_NEIGHBORS,
  STATE_CFG_COMMENT, STATE_CHANNELS, STATE_CFG_SA, STATE_CFG_TSPpath,
  STATE_CFG_TSPOffset, STATE_CFG_PeakSearch, STATE_CFG_nfft, STATE_CFG_samplingRate,
  STATE_CFG_signalMax, STATE_CFG_TSPLength
}
 

Functions

int harkio_XML_internal_processNode (xmlTextReaderPtr reader, harkio_XML *xml)
 内部処理用関数
 
int harkio_XML_internal_strcount (const char *str, char key)
 内部処理用関数
 
int harkio_XML_internal_write (harkio_XML *xml, FILE *fstream, char **cstream)
 内部処理用関数
 
void pushStream (char **buffer, char *tmp)
 内部処理用関数
 
harkio_XMLharkio_XML_new (void)
 コンストラクタ。新たな harkio_XML オブジェクトを生成する。 More...
 
harkio_XMLharkio_XML_newFromXML (char *xmlpath, char *dtdpath)
 コンストラクタ。ファイルを読み込んで、新たな harkio_XML オブジェクトを生成する。 More...
 
harkio_XMLharkio_XML_newFromData (harkio_Positions *ps, harkio_Neighbors *nbrs, harkio_Config *cfg)
 コンストラクタ。harkio_XML のメンバへのポインタを受け取って、新たな harkio_XML オブジェクトを生成する。 More...
 
harkio_XMLharkio_XML_newFromXMLbuffer (char *buffer, int len, char *dtdpath)
 コンストラクタ。XMLが格納された文字列へのポインタから、harkio_XML オブジェクトを生成する More...
 
void harkio_XML_delete (harkio_XML **xml)
 デストラクタ。harkio_XML のメモリを解放する。 More...
 
harkio_Neighborsharkio_XML_getNeighbors (harkio_XML *xml)
 
harkio_Positionsharkio_XML_getPositions (harkio_XML *xml)
 
harkio_Configharkio_XML_getConfig (harkio_XML *xml)
 
int harkio_XML_write (harkio_XML *xml, FILE *fstream)
 harkio_XML をファイルに保存する。 More...
 
int harkio_XML_internal_writePositions (harkio_Positions *p, FILE *fstream, char **cstream)
 内部処理用関数
 
int harkio_XML_writePositions (harkio_Positions *poses, FILE *outstream)
 harkio_Positions をXMLファイルに保存する。 More...
 
int harkio_XML_writeHead (FILE *outstream)
 harkio_Positions をXMLファイルに保存する。 More...
 
int harkio_XML_writeTail (FILE *outstream)
 harkio_Positions をXMLファイルに保存する。 More...
 
char * harkio_XML_writeBuffer (harkio_XML *xml)
 harkio_XML をバッファに保存する。 More...
 

Detailed Description

harkio_XML の API 群。 XML の読み込み・書き込みなどを受け持つ。

Author
Takeshi Mizumoto
Version
0.1

Function Documentation

void harkio_XML_delete ( harkio_XML **  xml)

デストラクタ。harkio_XML のメモリを解放する。

Parameters
[in]xmlメモリを解放するオブジェクトへのポインタへのポインタ

解放に成功すると xml には NULL が代入される。メンバのいくつかが NULL でもよい。

Here is the call graph for this function:

Here is the caller graph for this function:

harkio_XML* harkio_XML_new ( void  )

コンストラクタ。新たな harkio_XML オブジェクトを生成する。

Returns
harkio_XML へのポインタ。失敗すると NULL ポインタを返す。

harkio_XML_delete でメモリ解放を行う必要がある。

Here is the caller graph for this function:

harkio_XML* harkio_XML_newFromData ( harkio_Positions ps,
harkio_Neighbors nbrs,
harkio_Config cfg 
)

コンストラクタ。harkio_XML のメンバへのポインタを受け取って、新たな harkio_XML オブジェクトを生成する。

Parameters
[in]psXML で表現する位置群を表す。
[in]nbrsps の近接関係を表す
[in]cfgXML の一般設定を表す。
Returns
harkio_XML へのポインタ。失敗すると NULL ポインタを返す。

harkio_XML_delete でメモリ解放を行う必要がある。メンバは NULL でもよい。

Here is the caller graph for this function:

harkio_XML* harkio_XML_newFromXML ( char *  xmlpath,
char *  dtdpath 
)

コンストラクタ。ファイルを読み込んで、新たな harkio_XML オブジェクトを生成する。

Parameters
[in]xmlpath読み込む XML ファイルへのパス
[in]dtdpath[未実装] 読み込む XML ファイルを検査するための dtd ファイルへのパス。
Returns
harkio_XML へのポインタ。失敗すると NULL ポインタを返す。

harkio_XML_delete でメモリ解放を行う必要がある。

Here is the call graph for this function:

harkio_XML* harkio_XML_newFromXMLbuffer ( char *  buffer,
int  len,
char *  dtdpath 
)

コンストラクタ。XMLが格納された文字列へのポインタから、harkio_XML オブジェクトを生成する

Parameters
[in]bufferXML が格納された文字列へのポインタ。
[in]lenbuffer の長さ。
[in]dtdpath[未実装] 読み込む XML ファイルを検査するための dtd ファイルへのパス。
Returns
harkio_XML へのポインタ。失敗すると NULL ポインタを返す。

harkio_XML_delete でメモリ解放を行う必要がある。メンバは NULL でもよい。

Here is the call graph for this function:

Here is the caller graph for this function:

int harkio_XML_write ( harkio_XML xml,
FILE *  fstream 
)

harkio_XML をファイルに保存する。

Parameters
[in]xml保存される harkio_XML オブジェクト
[in]fstream保存したいファイルへのハンドル
Returns
成功すると EXIT_SUCCESS, 失敗すると EXIT_FAILURE を返す。

Here is the call graph for this function:

char* harkio_XML_writeBuffer ( harkio_XML xml)

harkio_XML をバッファに保存する。

Parameters
[in]xml保存される harkio_XML オブジェクト

harkio_XML の XML表現を、ファイルに書き出さずに文字列として渡す。

Returns
成功すれば文字列へのポインタ、失敗すれば NULL

Here is the call graph for this function:

Here is the caller graph for this function:

int harkio_XML_writeHead ( FILE *  outstream)

harkio_Positions をXMLファイルに保存する。

Parameters
[in]fstream保存したいファイルへのハンドル

逐次的に保存したい場合に使用。 harkio_XML_writeHead, harkio_XML_writePositions, harkio_XML_writeTail の順番で実行すれば、harkio_XML_writePosition で書くたびにその harkio_Positions のメモリを解放できる。

See Also
harkio_XML_writePositions, harkio_XML_writeTail
int harkio_XML_writePositions ( harkio_Positions poses,
FILE *  outstream 
)

harkio_Positions をXMLファイルに保存する。

Parameters
[in]poses保存される harkio_XML オブジェクト
[in]fstream保存したいファイルへのハンドル

逐次的に保存したい場合に使用

See Also
harkio_XML_writeHead, harkio_XML_writeTail

Here is the call graph for this function:

int harkio_XML_writeTail ( FILE *  outstream)

harkio_Positions をXMLファイルに保存する。

Parameters
[in]fstream保存したいファイルへのハンドル

逐次的に保存したい場合に使用

See Also
harkio_XML_writeHead, harkio_XML_writePositions