Skip to content

Commit adfc794

Browse files
committed
test
1 parent 10e8b7d commit adfc794

8 files changed

Lines changed: 36 additions & 5 deletions

File tree

src/DOpusScriptingExtensions/DOpusScriptingExtensions.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "pch.h"
22
#include "DOpusScriptingExtensions/resource.h"
33
#include "DOpusScriptingExtensions/DOpusScriptingExtensions_i.h"
4+
#include "DOpusScriptingExtensions/Utils/DebugLogger.h"
45
#include "Shared/Utils/StringUtils.h"
56
#include "Shared/Utils/Exceptions.h"
67
#include "Shared/Utils/WinApiUtils.h"

src/DOpusScriptingExtensions/DOpusScriptingExtensions.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124
<ClInclude Include="UCharDet\UCharDet.h" />
125125
<ClInclude Include="UCharDet\UCharDetWrapper.h" />
126126
<ClInclude Include="utils\ComUtils.h" />
127+
<ClInclude Include="Utils\DebugLogger.h" />
127128
</ItemGroup>
128129
<ItemGroup>
129130
<ClCompile Include="DOpusScriptingExtensions.cpp" />

src/DOpusScriptingExtensions/DOpusScriptingExtensions.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@
8585
<ClInclude Include="FileLockingInfoProvider\LockedFilesDatabase.h">
8686
<Filter>FileLockingInfoProvider</Filter>
8787
</ClInclude>
88+
<ClInclude Include="Utils\DebugLogger.h">
89+
<Filter>Utils</Filter>
90+
</ClInclude>
8891
</ItemGroup>
8992
<ItemGroup>
9093
<ClCompile Include="DOpusScriptingExtensions.cpp" />

src/DOpusScriptingExtensions/FileLockingInfoProvider/FileLockingInfoProvider.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class ATL_NO_VTABLE CFileLockingInfoProvider :
1717
DECLARE_PROTECT_FINAL_CONSTRUCT()
1818

1919
HRESULT FinalConstruct() try {
20-
_lockedFilesDatabase.emplace(43786);
20+
_lockedFilesDatabase = LockedFilesDatabase::GetInstance();
2121
return S_OK;
2222
} CATCH_ALL_EXCEPTIONS()
2323

@@ -41,7 +41,7 @@ class ATL_NO_VTABLE CFileLockingInfoProvider :
4141
} CATCH_ALL_EXCEPTIONS()
4242

4343
private:
44-
std::optional<LockedFilesDatabase> _lockedFilesDatabase;
44+
LockedFilesDatabase* _lockedFilesDatabase;
4545
};
4646

4747
OBJECT_ENTRY_AUTO(__uuidof(FileLockingInfoProvider), CFileLockingInfoProvider)

src/DOpusScriptingExtensions/FileLockingInfoProvider/LockedFilesDatabase.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
class LockedFilesDatabase final : private boost::noncopyable {
77
public:
8-
explicit LockedFilesDatabase(int connectionPort) {
9-
_connection = ProcessHandlesService::ProcessHandlesServiceGrpc::NewStub(grpc::CreateChannel("127.0.0.1:" + std::to_string(connectionPort), grpc::InsecureChannelCredentials()));
10-
_updateThread = std::thread(&LockedFilesDatabase::UpdateDatabaseThread, this);
8+
static LockedFilesDatabase* GetInstance() {
9+
static LockedFilesDatabase instance;
10+
return &instance;
1111
}
1212

1313
std::vector<ATL::CComPtr<IProcessInfo>> GetLockingProcesses(std::wstring path) const {
@@ -46,6 +46,11 @@ class LockedFilesDatabase final : private boost::noncopyable {
4646
}
4747

4848
private:
49+
LockedFilesDatabase() {
50+
_connection = ProcessHandlesService::ProcessHandlesServiceGrpc::NewStub(grpc::CreateChannel("127.0.0.1:43786", grpc::InsecureChannelCredentials()));
51+
_updateThread = std::thread(&LockedFilesDatabase::UpdateDatabaseThread, this);
52+
}
53+
4954
void UpdateDatabaseThread() {
5055
try {
5156
while (!_stopEvent.HasBeenNotified()) {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
#define LINE_INFO std::format(L"{}:{}:{}", \
4+
std::filesystem::path(__builtin_FILE()).filename(), \
5+
ToUtf16(__builtin_FUNCTION()), \
6+
__builtin_LINE())
7+
8+
#ifdef _DEBUG
9+
#define DEBUG_LOG(...) \
10+
do { \
11+
OutputDebugStringW( \
12+
std::format(L"DOpusScriptingExtensions(threadId={}):{}: {}", \
13+
std::this_thread::get_id(), \
14+
LINE_INFO, \
15+
std::format(__VA_ARGS__).c_str()).c_str()); \
16+
} while (0)
17+
#else
18+
#define DEBUG_LOG(...) (void)(__VA_ARGS__)
19+
#endif

src/ProcessHandlesService/main.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ int main() {
4747
/* filename */ (boost::dll::this_line_location().parent_path() / "DOpusScriptingExtensions.ProcessHandlesService.log.txt").string(),
4848
/* max_file_size */ 1024 * 1024, /* 1 MiB */
4949
/* max_files */ 2));
50+
spdlog::flush_every(std::chrono::seconds(2));
51+
5052
SPDLOG_INFO("Start GRPC server on port 43786");
5153
try {
5254
grpc::ServerBuilder builder;

src/Test/test.js

2.15 KB
Binary file not shown.

0 commit comments

Comments
 (0)