ctr_Repair/trunk/SkipFirstLaunch/ImageDb/include/imgdb/ImageIO/ImageIOSearch.h
N2614 e4fddb3dda MSET用のImageDBを追加
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@690 385bec56-5757-e545-9c3a-d8741f4650f1
2012-04-25 00:56:48 +00:00

107 lines
4.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*---------------------------------------------------------------------------
Project: ImageDb
File: ImageIOSearch.h
写真の列挙検索を提供します。
---------------------------------------------------------------------------*/
#ifndef IMAGE_IO_SEARCH_H_
#define IMAGE_IO_SEARCH_H_
#include <nn/fnd.h>
#include "ImageIOTypes.h"
namespace imgdb {
namespace search {
/*!----------------------------------------------------------------------
@brief 写真検索機能の初期化を行う
@details
写真の列挙検索を利用する前に1度だけ呼び出す必要があります。<BR>
imgdb::Initialize()後に呼び出す必要があります。<BR>
本関数を呼び出すと Finalize() が呼ばれるまで 24KB 程のメモリ消費されます。
-----------------------------------------------------------------------*/
void Initialize();
/*!----------------------------------------------------------------------
@brief 写真検索機能を終了させる
@details
imgdb::Finalize()前に呼び出してください。
-----------------------------------------------------------------------*/
void Finalize();
/*!----------------------------------------------------------------------
@brief ImageDb に管理されている写真を検索する
@details
ImageDb に管理されている写真を検索し、その結果を内部に保存します。<BR>
検索した結果は GetTitleUniqueId() や GetPath() などにインデックスを指定
して取得できます。<BR>
検索結果は撮影日時をもとに昇順で並んでいます(インデックスが小さいと古
い写真、大きいと新しい写真)。<BR>
PC上でSDカードに直接写真を追加削除された場合などに、それらの写真を管理す
るためには、CollectPicture()を呼び出す必要があります。<BR>
SDカードが存在しない、または認識できていない場合は、検索結果ゼロとして
正常終了します。<BR>
内部で保存されている検索結果は、以下のイベントや操作で無効になります。<BR>
無効な状態で Get() を呼び出すと、アサートの発生や間違った情報を返す場
合があるため、呼び出しは避けてください。<BR>
再度 SearchPicture() で検索しなおすことで有効な状態に戻ります。<BR>
・SDカードが差されたとき<BR>
・SDカードが抜かれたとき<BR>
・JpegSaver/MpSaverで写真を保存したとき<BR>
・DeletePicture()で写真を削除したとき<BR>
・CollectPicture()で管理ファイルを更新したとき<BR>
・HOMEメニューから戻ったときHOMEメニューカメラで撮影された可能性があるため
-----------------------------------------------------------------------*/
void SearchPicture();
/*!----------------------------------------------------------------------
@brief 検索結果の写真枚数を取得する
@return 見つかった写真枚数
@details
1枚も写真が見つからなかった場合はゼロを返します。
-----------------------------------------------------------------------*/
int GetResultNum();
/*!----------------------------------------------------------------------
@brief タイトルユニークIDを取得する
@param[in] nIndex 取得するデータのインデックス [0, GetResultNum())
@return タイトルユニークID
-----------------------------------------------------------------------*/
u32 GetTitleUniqueId(int nIndex);
/*!----------------------------------------------------------------------
@brief 写真のパスを取得する
@param[out] pPath パスを格納するバッファ(ヌル不可)
@param[in] nSize パスを格納するバッファのサイズ(文字数単位)
@param[in] nIndex 取得するデータのインデックス [0, GetResultNum())
@details
pPathとnSizeはc_nMaxPathSize以上のバッファを指定する必要があります。
バッファが不足している場合はアサートが発生します。
-----------------------------------------------------------------------*/
void GetPath(wchar_t* pPath, int nSize, int nIndex);
/*!----------------------------------------------------------------------
@brief 写真の種類を取得する
@param[in] nIndex 取得するデータのインデックス [0, GetResultNum())
@return 写真の種類
-----------------------------------------------------------------------*/
imgio::ImageKind GetImageKind(int nIndex);
/*!----------------------------------------------------------------------
@brief 撮影日時情報を取得する
@param[in] nIndex 取得するデータのインデックス [0, GetResultNum())
@return 撮影日時情報
-----------------------------------------------------------------------*/
nn::fnd::DateTime GetDateTime(int nIndex);
} // end of namespace search
} // end of namespace imgdb
#endif // IMAGE_ENUMERATOR_H_