#include "IvImageViewerPresentationModel.h"
class ImageNameEditorForm
-: public Tizen::Ui::Controls::Form
- , public Tizen::Ui::Controls::IFormBackEventListener
- , public Tizen::Ui::IActionEventListener
- , public Tizen::Ui::IOrientationEventListener
- , public Tizen::Ui::ITextEventListener
- , public Tizen::Ui::Scenes::ISceneEventListener
- {
- public:
+ : public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::Ui::ITextEventListener
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
ImageNameEditorForm(void);
virtual ~ImageNameEditorForm(void);
virtual result OnInitializing(void);
virtual result OnTerminating(void);
-
void CreateMessage(Tizen::Base::String& str);
virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
const Tizen::Ui::Scenes::SceneId& nextSceneId);
- private:
+private:
int __currentIndex;
int __modalMsgBoxResult;
Tizen::Ui::Controls::EditField* __pNameEditField;
Tizen::Base::String __nameEditFieldTempText;
Tizen::Ui::Controls::MessageBox* __pMessageBox;
ImageViewerPresentationModel* __pPresentationModel;
- };
+};
#endif /* _IV_IMAGE_NAME_EDITOR_FORM_H_ */
virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
const Tizen::Ui::Scenes::SceneId& nextSceneId);
- //From IFileUpdateEventListener
- void OnFormFileEventOccuered(const int index, const unsigned long eventId);
+ virtual void OnFormFileEventOccuered(const int index, const unsigned long eventId);
private:
result InitializeButton(void);
virtual void OnImageDecodedN(const int index);
- //From IFileUpdateEventListener
virtual void OnFormFileEventOccuered(const int index, const unsigned long eventId);
private:
class ImageViewerPresentationModel
: public IImageProviderEventListener
- , public Tizen::Io::IFileEventListener
+ , public Tizen::Io::IFileEventListener
{
public:
static ImageViewerPresentationModel* GetInstance();
SlideShowTransitionEffect GetTransitionEffectOfSlideShow(void) const;
result StartAppControl(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId,
- const Tizen::Base::Collection::HashMap* pDataList,
+ const Tizen::Base::String* uriData, const Tizen::Base::Collection::HashMap* pDataList,
Tizen::App::IAppControlResponseListener* pListener);
virtual void OnImageReceivedN(Tizen::Base::Runtime::IEventArg& eventArg);
- //From IFileEventListener
virtual void OnFileEventOccured (const unsigned long events, const Tizen::Base::String &path, const unsigned int eventId);
private:
extern const wchar_t* APPCONTROL_OPERATION_ID_PICK;
extern const wchar_t* APPCONTROL_OPERATION_ID_VIEW;
-extern const wchar_t* APPCONTROL_OPERATION_ID_PLAY;
extern const wchar_t* APPCONTROL_OPERATION_ID_COMPOSE;
-extern const wchar_t* APPCONTROL_OPERATION_ID_CONFIGURE;
extern const wchar_t* APPCONTROL_OPERATION_ID_MAIN;
extern const wchar_t* APPCONTROL_KEY_TYPE;
extern const wchar_t* APPCONTROL_KEY_PATH;
extern const wchar_t* APPCONTROL_KEY_INDEX;
-extern const wchar_t* APPCONTROL_KEY_ATTACHMENTS;
extern const wchar_t* APPCONTROL_KEY_SELECTION_MODE;
-extern const wchar_t* APPCONTROL_KEY_VALUE;
-extern const wchar_t* APPCONTROL_KEY_RETURN_TYPE;
-extern const wchar_t* APPCONTROL_KEY_LEGACY_RESULT;
+extern const wchar_t* APPCONTROL_KEY_SOCIAL_ITEM_TYPE;
+extern const wchar_t* APPCONTROL_KEY_SOCIAL_RESULT_TYPE;
+extern const wchar_t* APPCONTROL_KEY_MESSAGE_TYPE;
+
+extern const wchar_t* APPCONTROL_KEY_SOCIAL_ITEM_ID;
+
+extern const wchar_t* APPCONTROL_DATA_IMAGE;
+extern const wchar_t* APPCONTROL_DATA_VIDEO;
+extern const wchar_t* APPCONTROL_DATA_SLIDE_SHOW;
+extern const wchar_t* APPCONTROL_DATA_MESSAGE;
+extern const wchar_t* APPCONTROL_DATA_EMAIL;
+extern const wchar_t* APPCONTROL_DATA_SINGLE;
+extern const wchar_t* APPCONTROL_DATA_ITEM_ID;
+extern const wchar_t* APPCONTROL_DATA_URI_FILE;
+extern const wchar_t* APPCONTROL_DATA_MMS;
+extern const wchar_t* APPCONTROL_DATA_PERSON;
extern const wchar_t* APPCONTROL_DATA_IMAGE;
extern const wchar_t* APPCONTROL_DATA_VIDEO;
<Resolution MimeType="image/*"/>
<Resolution MimeType="video/*"/>
</Capability>
+ <Capability OperationId="http://tizen.org/appcontrol/operation/image/crop">
+ <Resolution MimeType="image/*"/>
+ </Capability>
</AppControl>
</AppControls>
<LaunchConditions/>
if (__pBitmap != null)
{
delete __pBitmap;
- __pBitmap = null;
}
}
if (__pBitmap != null)
{
delete __pBitmap;
- __pBitmap = null;
}
}
if (inputString.Contains(DIRECTORY_SEPARATOR) == true)
{
-
String msg = ResourceManager::GetString(L"IDS_COM_POP_INVALID_CHARACTERS");
CreateMessage(msg);
return;
}
-
-
pPresentationModel->ClearImageRequests(true);
}
- Thread::Sleep(1000);
-
delete __pArguments;
__pArguments = null;
{
__uriData = *pUriData;
}
- if (pExtraData != null)
+ else if (pExtraData != null)
{
HashMap* pArguments = new (std::nothrow) HashMap(SingleObjectDeleter);
result r = pArguments->Construct();
return;
}
-
- const String* pKey = null;
- const String* pValue = null;
- IList* pKeyList = pExtraData->GetKeysN();
-
- if (pKeyList != null)
+ AppLogDebug("ENTER2");
+ const String* pType = static_cast<const String*>(pExtraData->GetValue(String(APPCONTROL_KEY_TYPE)));
+ const ArrayList* pList = static_cast<const ArrayList*>(pExtraData->GetValue(String(APPCONTROL_KEY_PATH)));
+ const String* pIndex = static_cast<const String*>(pExtraData->GetValue(String(APPCONTROL_KEY_INDEX)));
+ AppLogDebug("ENTER3");
+ if (pType != null)
{
- int loopCount = pKeyList->GetCount();
+ AppLogDebug("ENTER4");
+ pArguments->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(*pType));
+ }
+ if (pList != null)
+ {
+ AppLog("Check pointer(%x) pExtraData(%x)", pList, pExtraData);
+ AppLogDebug("ENTER5");
+ ArrayList* pArrayList = new (std::nothrow) ArrayList();
+ pArrayList->Construct();
+ const String* temp;
+ AppLogDebug("ENTER6");
+ int loopCount = pList->GetCount();
+ AppLogDebug("ENTER7 loopCount(%d)", loopCount);
for (int i = 0; i < loopCount; ++i)
{
- pKey = static_cast<const String*>(pKeyList->GetAt(i));
- if (pKey != null)
- {
- pValue = static_cast<const String*>(pExtraData->GetValue(*pKey));
- AppLogDebug("(%ls:%ls)", pKey == null ? L"(null)" : pKey->GetPointer(), pValue == null ? L"(null)" : pValue->GetPointer());
- if (pValue != null && pKey->CompareTo(APPCONTROL_KEY_LEGACY_RESULT) != 0)
- {
- pArguments->Add(new (std::nothrow) String(*pKey), new (std::nothrow) String(*pValue));
- }
- }
+ temp = static_cast<const String*>(pList->GetAt(i));
+ AppLogDebug("ENTER8 temp(%ls)", temp->GetPointer());
+ pArrayList->Add(new (std::nothrow) String(*temp));
}
- __pArguments = pArguments;
- delete pKeyList;
+ pArguments->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), pArrayList);
}
- else
+ if (pIndex != null)
{
- delete pArguments;
- pArguments = null;
+ pArguments->Add(new (std::nothrow) String(APPCONTROL_KEY_INDEX), new (std::nothrow) String(*pIndex));
}
+
+ __pArguments = pArguments;
}
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
InitializePopup();
if (__initializeDisplayModeCurrent == APPCONTROL_MODE_NORMAL
- || __initializeDisplayModeCurrent == APPCONTROL_MODE_MESSAGE
- || __initializeDisplayModeCurrent == APPCONTROL_MODE_EMAIL)
+ || __initializeDisplayModeCurrent == APPCONTROL_MODE_MESSAGE
+ || __initializeDisplayModeCurrent == APPCONTROL_MODE_EMAIL)
{
int index = __pPresentationModel->GetStartIndex();
__pGallery->UpdateGallery();
AppLogDebug("ENTER");
int index = __pGallery->GetCurrentItemIndex();
String filePath = __pPresentationModel->GetFilePathAt(index);
+ filePath.Insert(APPCONTROL_DATA_URI_FILE, 0);
- HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
- pDataList->Construct();
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE),
- new (std::nothrow) String(APPCONTROL_DATA_VIDEO));
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), new (std::nothrow) String(filePath));
+ AppLogDebug("ENTER(%ls)", filePath.GetPointer());
- __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_VIDEO_PLAYER,
- APPCONTROL_OPERATION_ID_PLAY, pDataList, this);
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_VIDEO_PLAYER, APPCONTROL_OPERATION_ID_VIEW,
+ &filePath, null, this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
pDataList->Construct();
pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_SELECTION_MODE),
new (std::nothrow) String(APPCONTROL_DATA_SINGLE));
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_RETURN_TYPE),
- new (std::nothrow) String(APPCONTROL_DATA_CONTACT_ID));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_SOCIAL_ITEM_TYPE),
+ new (std::nothrow) String(APPCONTROL_DATA_PERSON));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_SOCIAL_RESULT_TYPE),
+ new (std::nothrow) String(APPCONTROL_DATA_ITEM_ID));
__pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_CONTACTS,
- APPCONTROL_OPERATION_ID_PICK, pDataList, this);
+ APPCONTROL_OPERATION_ID_PICK, null, pDataList, this);
break;
}
case ACTION_ID_CONTEXTMENU_EMAIL:
&& operationId == APPCONTROL_OPERATION_ID_PICK
&& appControlResult == APP_CTRL_RESULT_SUCCEEDED)
{
- const String* pReturnType =
- static_cast<const String*>(pExtraData->GetValue(String(APPCONTROL_KEY_RETURN_TYPE)));
- if (pReturnType != null && pReturnType->CompareTo(APPCONTROL_DATA_CONTACT_ID) == 0)
+ const String* pContactId =
+ static_cast<const String*>(pExtraData->GetValue(String(APPCONTROL_KEY_SOCIAL_ITEM_ID)));
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ long long lresult = 0;
+ if (pContactId != null && pContactId->GetLength() > 0)
{
- const String* pContactId =
- static_cast<const String*>(pExtraData->GetValue(String(APPCONTROL_KEY_VALUE)));
- SceneManager* pSceneManager = SceneManager::GetInstance();
- long long lresult = 0;
- if (pContactId != null && pContactId->GetLength() > 0)
- {
- LongLong::Parse(*pContactId, lresult);
- }
- ArrayList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
- pList->Add(new (std::nothrow) Integer(__pGallery->GetCurrentItemIndex()));
- pList->Add(new (std::nothrow) Integer(SET_AT_TYPE_CALLER_IMAGE));
- pList->Add(new (std::nothrow) LongLong(lresult));
- __pPresentationModel->SetSetterIndex(__pGallery->GetCurrentItemIndex());
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_IMAGE_SETTER), pList);
+ LongLong::Parse(*pContactId, lresult);
}
+ ArrayList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pList->Add(new (std::nothrow) Integer(__pGallery->GetCurrentItemIndex()));
+ pList->Add(new (std::nothrow) Integer(SET_AT_TYPE_CALLER_IMAGE));
+ pList->Add(new (std::nothrow) LongLong(lresult));
+ __pPresentationModel->SetSetterIndex(__pGallery->GetCurrentItemIndex());
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_IMAGE_SETTER), pList);
}
ImageViewerApp* pImageViewerApp = static_cast<ImageViewerApp*>(ImageViewerApp::GetInstance());
String filePath = __pPresentationModel->GetFilePathAt(currentIndex);
- ImageViewerMediaType mediaType = CommonUtil::GetMediaType(filePath);
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
- if (mediaType == IMAGE_VIEWER_MEDIA_TYPE_IMAGE || mediaType == IMAGE_VIEWER_MEDIA_TYPE_VIDEO)
- {
- HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
- pDataList->Construct();
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_ATTACHMENTS),
- new (std::nothrow) String(filePath));
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pList->Add(new (std::nothrow) String(filePath));
- __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL,
- APPCONTROL_OPERATION_ID_COMPOSE, pDataList, this);
- }
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pList);
+
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL, APPCONTROL_OPERATION_ID_COMPOSE,
+ null, pDataList, this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
String filePath = __pPresentationModel->GetFilePathAt(currentIndex);
- ImageViewerMediaType mediaType = CommonUtil::GetMediaType(filePath);
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_MESSAGE_TYPE),
+ new (std::nothrow) String(APPCONTROL_DATA_MMS));
- if (mediaType == IMAGE_VIEWER_MEDIA_TYPE_IMAGE || mediaType == IMAGE_VIEWER_MEDIA_TYPE_VIDEO)
- {
- HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
- pDataList->Construct();
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE),new (std::nothrow) String(APPCONTROL_DATA_MMS));
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_ATTACHMENTS),new (std::nothrow) String(filePath));
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pList->Add(new (std::nothrow) String(filePath));
- __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGES,
- APPCONTROL_OPERATION_ID_COMPOSE, pDataList, this);
- }
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pList);
+
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGES,
+ APPCONTROL_OPERATION_ID_COMPOSE, null, pDataList, this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
if (pArguments != null)
{
const String* pType = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_TYPE)));
- const String* pPath = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_PATH)));
+ const ArrayList* pList = static_cast<const ArrayList*>(pArguments->GetValue(String(APPCONTROL_KEY_PATH)));
const String* pIndex = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_INDEX)));
+ AppLog("pType %x pList %x pIndex %x", pType, pList, pIndex);
+
if (pIndex != null)
{
Integer::Parse(*pIndex, __startIndex);
{
__type = *pType;
}
- if (pPath != null)
+ if (pList != null)
{
- String delim(APPCONTROL_PATH_SEPARATOR);
- String currentPath = *pPath;
- ImageInfo* pImageInfo = null;
String tempPath;
-
- wchar_t tempChar[2] = L"";
-
- result r = E_SUCCESS;
- FileAttributes attr;
-
- int loopCount = currentPath.GetLength();
+ ImageInfo* pImageInfo = null;
+ int loopCount = pList->GetCount();
for (int i = 0; i < loopCount; ++i)
{
- currentPath.GetCharAt(i, *tempChar);
- if (delim != tempChar)
- {
- tempPath += tempChar;
- }
- else
- {
- r = File::GetAttributes(tempPath, attr);
- if (r == E_SUCCESS && attr.IsDirectory() != true)
- {
- pImageInfo = new (std::nothrow) ImageInfo();
- pImageInfo->Construct(tempPath, null);
- __pImageCaches->Add(pImageInfo);
- __pFileEventManager->AddPath(tempPath, FILE_EVENTS);
- tempPath.Clear();
- continue;
- }
- tempPath += L";";
- }
- }
-
- r = File::GetAttributes(tempPath, attr);
- if (r == E_SUCCESS && attr.IsDirectory() != true)
- {
pImageInfo = new (std::nothrow) ImageInfo();
+ tempPath = *(const_cast<String*>(static_cast<const String*>(pList->GetAt(i))));
+ AppLog("(%d) tempPath(%ls)", i, tempPath.GetPointer());
+
pImageInfo->Construct(tempPath, null);
__pImageCaches->Add(pImageInfo);
- __pFileEventManager->AddPath(tempPath, FILE_EVENTS);
-
+ tempPath.Clear();
}
}
}
}
else
{
- __startIndex = 0;
uriData.Replace(APPCONTROL_DATA_URI_FILE, L"");
ImageInfo* pImageInfo = new (std::nothrow) ImageInfo();
pImageInfo->Construct(uriData, null);
}
result
-ImageViewerPresentationModel::StartAppControl(const String& providerId, const String & operationId,
- const HashMap* pDataList, IAppControlResponseListener* pListener)
+ImageViewerPresentationModel::StartAppControl(const String& providerId, const String& operationId,
+ const String* uriData, const HashMap* pDataList, IAppControlResponseListener* pListener)
{
AppLogDebug("ENTER");
result r = E_FAILURE;
return E_FAILURE;
}
- r = pAc->Start(null, null, pDataList, pListener);
+ r = pAc->Start(uriData, null, pDataList, pListener);
if (r == E_SUCCESS)
{
const wchar_t* APPCONTROL_OPERATION_ID_PICK = L"http://tizen.org/appcontrol/operation/pick";
const wchar_t* APPCONTROL_OPERATION_ID_VIEW = L"http://tizen.org/appcontrol/operation/view";
-const wchar_t* APPCONTROL_OPERATION_ID_PLAY = L"http://tizen.org/appcontrol/operation/play";
const wchar_t* APPCONTROL_OPERATION_ID_COMPOSE = L"http://tizen.org/appcontrol/operation/compose";
-const wchar_t* APPCONTROL_OPERATION_ID_CONFIGURE = L"http://tizen.org/appcontrol/operation/configure";
const wchar_t* APPCONTROL_OPERATION_ID_MAIN = L"http://tizen.org/appcontrol/operation/main";
-const wchar_t* APPCONTROL_KEY_TYPE = L"type";
-const wchar_t* APPCONTROL_KEY_PATH = L"path";
-const wchar_t* APPCONTROL_KEY_INDEX = L"index";
-const wchar_t* APPCONTROL_KEY_ATTACHMENTS = L"attachments";
-const wchar_t* APPCONTROL_KEY_SELECTION_MODE = L"selectionMode";
-const wchar_t* APPCONTROL_KEY_VALUE = L"value";
-const wchar_t* APPCONTROL_KEY_RETURN_TYPE = L"returnType";
-const wchar_t* APPCONTROL_KEY_LEGACY_RESULT = L"http://tizen.org/appcontrol/data/legacyresult";
+const wchar_t* APPCONTROL_KEY_TYPE = L"http://tizen.org/appcontrol/data/type";
+const wchar_t* APPCONTROL_KEY_PATH = L"http://tizen.org/appcontrol/data/path";
+const wchar_t* APPCONTROL_KEY_INDEX = L"http://tizen.org/appcontrol/data/index";
+const wchar_t* APPCONTROL_KEY_SELECTION_MODE = L"http://tizen.org/appcontrol/data/selection_mode";
+const wchar_t* APPCONTROL_KEY_SOCIAL_ITEM_TYPE = L"http://tizen.org/appcontrol/data/social/item_type";
+const wchar_t* APPCONTROL_KEY_SOCIAL_RESULT_TYPE = L"http://tizen.org/appcontrol/data/social/result_type";
+const wchar_t* APPCONTROL_KEY_MESSAGE_TYPE = L"http://tizen.org/appcontrol/data/message/type";
+
+const wchar_t* APPCONTROL_KEY_SOCIAL_ITEM_ID = L"http://tizen.org/appcontrol/data/social/item_id";
const wchar_t* APPCONTROL_DATA_IMAGE = L"image";
const wchar_t* APPCONTROL_DATA_VIDEO = L"video";
const wchar_t* APPCONTROL_DATA_MESSAGE = L"message";
const wchar_t* APPCONTROL_DATA_EMAIL = L"email";
const wchar_t* APPCONTROL_DATA_SINGLE = L"single";
-const wchar_t* APPCONTROL_DATA_CONTACT_ID = L"contactId";
+const wchar_t* APPCONTROL_DATA_ITEM_ID = L"item_id";
const wchar_t* APPCONTROL_DATA_URI_FILE = L"file://";
-const wchar_t* APPCONTROL_DATA_MMS = L"MMS";
+const wchar_t* APPCONTROL_DATA_MMS = L"mms";
+const wchar_t* APPCONTROL_DATA_PERSON = L"person";
const wchar_t* SETTING_VALUE_HOME_SCREEN_WALLPAPER = L"http://tizen.org/setting/screen.wallpaper";
const wchar_t* SETTING_VALUE_LOCK_SCREEN_WALLPAPER = L"http://tizen.org/setting/screen.wallpaper.lock";
const wchar_t* CONTENT_QUERY_PREFIX_FILENAME = L"ContentFileName =";
const wchar_t* EMPTY_SPACE = L"";
+const wchar_t* APPCONTROL_SEPARATOR = L"/";
const wchar_t* DIRECTORY_SEPARATOR = L"/";
const wchar_t* FILE_EXT_SEPARATOR = L".";
const wchar_t* APPCONTROL_PATH_SEPARATOR = L";";