From 0cd0321bb55fcb544bc0f3a3114cb0578884c099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Gonz=C3=A1lez?= Date: Wed, 26 Mar 2025 11:25:03 +0100 Subject: [PATCH 1/2] chore: clean up --- native-src/sync_root_interface/Utilities.cpp | 34 ------------ native-src/virtual_drive/Wrappers.cpp | 57 +------------------- 2 files changed, 1 insertion(+), 90 deletions(-) diff --git a/native-src/sync_root_interface/Utilities.cpp b/native-src/sync_root_interface/Utilities.cpp index fa664e3b..e9ce643f 100644 --- a/native-src/sync_root_interface/Utilities.cpp +++ b/native-src/sync_root_interface/Utilities.cpp @@ -54,40 +54,6 @@ void Utilities::ApplyCustomOverwriteStateToPlaceholderFile(LPCWSTR path, LPCWSTR } } -void Utilities::AddFolderToSearchIndexer(_In_ PCWSTR folder) -{ - HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); - if (FAILED(hr)) - { - wprintf(L"Failed to initialize COM library. Error code = %08x\n", hr); - return; - } - - std::wstring url(L"file:///"); - url.append(folder); - - try - { - winrt::com_ptr searchManager; - winrt::check_hresult(CoCreateInstance(__uuidof(CSearchManager), NULL, CLSCTX_SERVER, __uuidof(&searchManager), searchManager.put_void())); - - winrt::com_ptr searchCatalogManager; - winrt::check_hresult(searchManager->GetCatalog(MSSEARCH_INDEX, searchCatalogManager.put())); - - winrt::com_ptr searchCrawlScopeManager; - winrt::check_hresult(searchCatalogManager->GetCrawlScopeManager(searchCrawlScopeManager.put())); - - winrt::check_hresult(searchCrawlScopeManager->AddDefaultScopeRule(url.data(), TRUE, FOLLOW_FLAGS::FF_INDEXCOMPLEXURLS)); - winrt::check_hresult(searchCrawlScopeManager->SaveAll()); - - // wprintf(L"Succesfully called AddFolderToSearchIndexer on \"%s\"\n", url.data()); - } - catch (...) - { - wprintf(L"Failed on call to AddFolderToSearchIndexer for \"%s\" with %08x\n", url.data(), static_cast(winrt::to_hresult())); - } -} - void Utilities::ApplyTransferStateToFile(_In_ PCWSTR fullPath, _In_ CF_CALLBACK_INFO &callbackInfo, UINT64 total, UINT64 completed) { Logger::getInstance().log("ApplyTransferStateToFile", LogLevel::INFO); diff --git a/native-src/virtual_drive/Wrappers.cpp b/native-src/virtual_drive/Wrappers.cpp index 572d99b6..73795014 100644 --- a/native-src/virtual_drive/Wrappers.cpp +++ b/native-src/virtual_drive/Wrappers.cpp @@ -763,62 +763,7 @@ napi_value HydrateFileWrapper(napi_env env, napi_callback_info args) return promise; } -// napi_value HydrateFileWrapper(napi_env env, napi_callback_info args) { -// size_t argc = 1; -// napi_value argv[1]; -// napi_value thisArg; -// napi_get_cb_info(env, args, &argc, argv, &thisArg, nullptr); - -// if (argc < 1) { -// napi_throw_type_error(env, nullptr, "The file path is required for HydrateFile"); -// return nullptr; -// } - -// // Obtener el argumento de JavaScript y convertirlo a una cadena de C++ -// size_t pathLength; -// napi_get_value_string_utf16(env, argv[0], nullptr, 0, &pathLength); -// std::wstring fullPath(pathLength, L'\0'); -// napi_get_value_string_utf16(env, argv[0], reinterpret_cast(&fullPath[0]), pathLength + 1, nullptr); - -// // Crear una promesa -// napi_deferred deferred; -// napi_value promise; -// napi_create_promise(env, &deferred, &promise); - -// // Crear un handle scope para manejar la creación de objetos V8 -// napi_handle_scope handleScope; -// napi_open_handle_scope(env, &handleScope); - -// // Usar un bloque de manejo de V8 -// { -// v8::Isolate* isolate = v8::Isolate::GetCurrent(); -// v8::HandleScope scope(isolate); - -// try { -// Logger::getInstance().log("init... " + Logger::fromWStringToString(fullPath.c_str()), LogLevel::INFO); -// SyncRoot::HydrateFile(fullPath.c_str()); - -// napi_value result; -// napi_get_undefined(env, &result); -// napi_resolve_deferred(env, deferred, result); -// } catch (const std::exception& e) { -// napi_value error; -// napi_create_string_utf8(env, e.what(), NAPI_AUTO_LENGTH, &error); -// napi_reject_deferred(env, deferred, error); -// } catch (...) { -// napi_value error; -// napi_create_string_utf8(env, "Unknown error", NAPI_AUTO_LENGTH, &error); -// napi_reject_deferred(env, deferred, error); -// } -// } - -// // Cerrar el handle scope -// napi_close_handle_scope(env, handleScope); - -// return promise; -// } - -// Wrapper for DehydrateFile + napi_value DehydrateFileWrapper(napi_env env, napi_callback_info args) { size_t argc = 1; From a0d655be48cebec81b0ea8447c8c627b3c2ddb8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Gonz=C3=A1lez?= Date: Wed, 26 Mar 2025 11:53:13 +0100 Subject: [PATCH 2/2] chore: fix function name --- include/virtual_drive/Wrappers.h | 2 +- native-src/main.cpp | 2 +- native-src/sync_root_interface/Utilities.cpp | 33 ++++++++++++++++++++ native-src/virtual_drive/Wrappers.cpp | 3 +- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/include/virtual_drive/Wrappers.h b/include/virtual_drive/Wrappers.h index 49248a1b..bc8f118e 100644 --- a/include/virtual_drive/Wrappers.h +++ b/include/virtual_drive/Wrappers.h @@ -9,7 +9,7 @@ napi_value ConnectSyncRootWrapper(napi_env env, napi_callback_info args); napi_value CreateEntryWrapper(napi_env env, napi_callback_info args); napi_value DisconnectSyncRootWrapper(napi_env env, napi_callback_info args); napi_value GetFileIdentityWrapper(napi_env env, napi_callback_info args); -napi_value addLoggerPathWrapper(napi_env env, napi_callback_info args); +napi_value AddLoggerPathWrapper(napi_env env, napi_callback_info args); napi_value UpdateSyncStatusWrapper(napi_env env, napi_callback_info args); napi_value GetPlaceholderStateWrapper(napi_env env, napi_callback_info args); napi_value GetPlaceholderWithStatePendingWrapper(napi_env env, napi_callback_info args); diff --git a/native-src/main.cpp b/native-src/main.cpp index ac64dfbb..c12d55a0 100644 --- a/native-src/main.cpp +++ b/native-src/main.cpp @@ -147,7 +147,7 @@ napi_value init(napi_env env, napi_value exports) napi_property_descriptor addLoggerPathDesc = { "addLoggerPath", nullptr, - addLoggerPathWrapper, + AddLoggerPathWrapper, nullptr, nullptr, nullptr, diff --git a/native-src/sync_root_interface/Utilities.cpp b/native-src/sync_root_interface/Utilities.cpp index e9ce643f..bc3af5f2 100644 --- a/native-src/sync_root_interface/Utilities.cpp +++ b/native-src/sync_root_interface/Utilities.cpp @@ -54,6 +54,39 @@ void Utilities::ApplyCustomOverwriteStateToPlaceholderFile(LPCWSTR path, LPCWSTR } } +void Utilities::AddFolderToSearchIndexer(_In_ PCWSTR folder) +{ + HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); + if (FAILED(hr)) + { + wprintf(L"Failed to initialize COM library. Error code = %08x\n", hr); + return; + } + + std::wstring url(L"file:///"); + url.append(folder); + + try + { + winrt::com_ptr searchManager; + winrt::check_hresult(CoCreateInstance(__uuidof(CSearchManager), NULL, CLSCTX_SERVER, __uuidof(&searchManager), searchManager.put_void())); + + winrt::com_ptr searchCatalogManager; + winrt::check_hresult(searchManager->GetCatalog(MSSEARCH_INDEX, searchCatalogManager.put())); + + winrt::com_ptr searchCrawlScopeManager; + winrt::check_hresult(searchCatalogManager->GetCrawlScopeManager(searchCrawlScopeManager.put())); + + winrt::check_hresult(searchCrawlScopeManager->AddDefaultScopeRule(url.data(), TRUE, FOLLOW_FLAGS::FF_INDEXCOMPLEXURLS)); + winrt::check_hresult(searchCrawlScopeManager->SaveAll()); + + } + catch (...) + { + wprintf(L"Failed on call to AddFolderToSearchIndexer for \"%s\" with %08x\n", url.data(), static_cast(winrt::to_hresult())); + } +} + void Utilities::ApplyTransferStateToFile(_In_ PCWSTR fullPath, _In_ CF_CALLBACK_INFO &callbackInfo, UINT64 total, UINT64 completed) { Logger::getInstance().log("ApplyTransferStateToFile", LogLevel::INFO); diff --git a/native-src/virtual_drive/Wrappers.cpp b/native-src/virtual_drive/Wrappers.cpp index 73795014..1d1f50f0 100644 --- a/native-src/virtual_drive/Wrappers.cpp +++ b/native-src/virtual_drive/Wrappers.cpp @@ -417,7 +417,6 @@ napi_value CreateEntryWrapper(napi_env env, napi_callback_info args) return result; } -// disconection wrapper napi_value DisconnectSyncRootWrapper(napi_env env, napi_callback_info args) { size_t argc = 1; @@ -500,7 +499,7 @@ napi_value DeleteFileSyncRootWrapper(napi_env env, napi_callback_info args) return nullptr; } -napi_value addLoggerPathWrapper(napi_env env, napi_callback_info args) +napi_value AddLoggerPathWrapper(napi_env env, napi_callback_info args) { size_t argc = 1; napi_value argv[1];