mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
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
107 lines
4.3 KiB
C++
107 lines
4.3 KiB
C++
/*---------------------------------------------------------------------------
|
||
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_
|