Ejemplo n.º 1
0
EB_Error_Code QEb::booklistBookCount()
{
    int cnt;
    EB_Error_Code ecode = eb_booklist_book_count(&bookList, &cnt);
    if (ecode != EB_SUCCESS) {
        dispError("eb_bind_boollist", ecode);
        return -1;
    }
    return cnt;
}
Ejemplo n.º 2
0
int
main(int argc, char *argv[])
{
    EB_Error_Code error_code;
    EB_BookList bl;
    int book_count;
    char *name, *title;
    int i;

    /* コマンド行引数をチェック。*/
    if (argc != 2) {
        fprintf(stderr, "Usage: %s book-path remote-access-identifier\n",
            argv[0]);
        exit(1);
    }

    /* EB ライブラリと `bl' を初期化。*/
    eb_initialize_library();
    eb_initialize_booklist(&bl);

    /* EBNET サーバを `bl' に結び付ける。*/
    error_code = eb_bind_booklist(&bl, argv[1]);
    if (error_code != EB_SUCCESS) {
        fprintf(stderr, "%s: failed to bind the EBNET server, %s: %s\n",
            argv[0], eb_error_message(error_code), argv[1]);
        goto die;
    }

    /* サーバ上の書籍、appendix の個数を取得。*/
    error_code = eb_booklist_book_count(&bl, &book_count);
    if (error_code != EB_SUCCESS) {
        fprintf(stderr, "%s: failed to get the number of books, %s\n",
            argv[0], eb_error_message(error_code));
        goto die;
    }

    for (i = 0; i < book_count; i++) {
        /* 書籍、appendix の名称を取得。*/
        error_code = eb_booklist_book_name(&bl, i, &name);
	if (error_code != EB_SUCCESS) {
            fprintf(stderr, "%s: failed to get book name #%d, %s\n",
                argv[0], i, eb_error_message(error_code));
            goto die;
        }

        /* 書籍、appendix の題名を取得。*/
        error_code = eb_booklist_book_name(&bl, i, &title);
	if (error_code != EB_SUCCESS) {
            fprintf(stderr, "%s: failed to get book title #%d, %s\n",
                argv[0], i, eb_error_message(error_code));
            goto die;
        }

        printf("%-20s  %s\n", name, title);
    }
        
    /* `bl' と EB ライブラリの利用を終了。*/
    eb_finalize_booklist(&bl);
    eb_finalize_library();
    exit(0);

    /* エラー発生で終了するときの処理。*/
  die:
    eb_finalize_booklist(&bl);
    eb_finalize_library();
    exit(1);
}