#pragma once

#include <Windows.h>


#include "browserType.h"

typedef UINT_PTR COOKIE_RESULT;





//
//各ブラウザのクッキー取得関数を定義
//


#ifdef __cplusplus
extern "C" {
#endif

///
///クッキーマネージャー初期化
///
extern VOID InitializeShareCookie(LPCWSTR appDataPath,LPCWSTR localAppDataPath);


///
///クッキーマネージャー後処理
///
extern VOID FinalizeShareCookie();

///
///指定したdomeinとkeyを持つcookieを取得する
///
extern COOKIE_RESULT GetCookie(BROWSERTYPE browserType,LPWSTR cookie,SIZE_T bufSize, LPCWSTR key,LPCWSTR domein);


#ifdef __cplusplus
}
#endif




//
//結果コード
//

///OK
#define COOKIE_ERR_OK										((COOKIE_RESULT) 0 )

///インターネットオプションが取得できない
#define COOKIE_ERR_INTERNETOPTION_NOTOPEN					((COOKIE_RESULT) 1 )

///保護モード読取失敗
#define COOKIE_ERR_PROTECTIONMODE_READFAILD					((COOKIE_RESULT) 2 )

///url文字列の長さが長すぎる
#define COOKIE_ERR_DETAIL_URL_TOOBIG						((COOKIE_RESULT) 3 )

///クッキーが見つからなかった
#define COOKIE_ERR_DETAIL_NOTFOUND							((COOKIE_RESULT) 4 )

///結果文字列の長さが長すぎる
#define COOKIEERR_DETAIL_RESULT_TOOBIG						((COOKIE_RESULT) 5 )

///不明のエラー発生
#define COOKIE_ERR_UNKNOWN									((COOKIE_RESULT) 6 )

///データベースが開けなかった
#define COOKIE_ERR_DBOPEN_FAILED							((COOKIE_RESULT) 7 )

///ステートメント作成失敗
#define COOKIE_ERR_CREATESTMT_FAILED						((COOKIE_RESULT) 8 )

///キー文字列の長さが長すぎる
#define COOKIE_ERR_DETAIL_KEY_TOOBIG						((COOKIE_RESULT) 9 )

///ブラウザタイプが設定されていない
#define COOKIE_ERR_BROWSERTYPE_NOSETTING					((COOKIE_RESULT) 10 )

///未定義のブラウザタイプが設定された
#define COOKIE_ERR_UNDEFINED_BROWSERTYPE					((COOKIE_RESULT) 11)

///クッキーファイルを開くことが出来なかった
#define COOKIE_ERR_OPEN_FAILED								((COOKIE_RESULT) 12)

///ドメイン文字列の長さが長すぎる
#define COOKIE_ERR_DETAIL_DOMEIN_TOOBIG						((COOKIE_RESULT) 13)



