diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 5f7a2c8..69d72d8 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -41,11 +41,11 @@ "state": { "type": "canvas", "state": { - "file": "00. Inbox/vc-fwUpdate code trace.canvas", + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas", "viewState": { - "x": -43, - "y": -346, - "zoom": -0.26061884220394266, + "x": 263, + "y": -321.5, + "zoom": -0.48348606856060145, "snapToGrid": false } } @@ -110,7 +110,7 @@ "state": { "type": "backlink", "state": { - "file": "00. Inbox/vc-fwUpdate code trace.canvas", + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -127,7 +127,7 @@ "state": { "type": "outline", "state": { - "file": "00. Inbox/vc-fwUpdate code trace.canvas" + "file": "00. Inbox/vc-fwUpdate code trace(Meetup).canvas" } } }, diff --git a/00. Inbox/vc-fwUpdate code trace(Meetup).canvas b/00. Inbox/vc-fwUpdate code trace(Meetup).canvas new file mode 100644 index 0000000..c2a6b8b --- /dev/null +++ b/00. Inbox/vc-fwUpdate code trace(Meetup).canvas @@ -0,0 +1,41 @@ +{ + "nodes":[ + {"id":"6bfc707fe9365d07","x":-582,"y":-730,"width":250,"height":50,"type":"text","text":"`Initialize();`"}, + {"id":"35301ec811a15aa2","x":-434,"y":-646,"width":283,"height":50,"type":"text","text":"`Impl::InitializeController()`"}, + {"id":"58150c82625254cd","x":233,"y":-462,"width":662,"height":215,"type":"text","text":"`vc-fwUpdate\\Backends\\MeridianBackend\\registration.cpp`\n```cpp\nlogitech::fwupdate::backend::RegisterBackend(IUpdateController& controller) {\n\n}\n```\n\n這邊開始建立所有的update task,以下所列的 task 都繼承自 `class UpdateTask`\n使用 `controller.RegisterTask(...)` 來註冊各個 task"}, + {"id":"5f57db192293a0ec","x":257,"y":-537,"width":168,"height":51,"type":"text","text":"Impl() d_"}, + {"id":"5e7c147cd533a922","x":453,"y":-537,"width":289,"height":51,"type":"text","text":"d_->CreatePnpProvider();"}, + {"id":"cd7947e8636e6b51","x":779,"y":-596,"width":347,"height":110,"type":"text","text":"建立一個看不見的window,背後會有一個 thread 來接收 device notification events:`WM_DEVICECHANGE`"}, + {"id":"e01a865b5a13d6e9","x":-247,"y":-537,"width":480,"height":51,"type":"text","text":"controller_ = controller::CreateUpdateController();"}, + {"id":"7d8839591c30f61a","x":-247,"y":-462,"width":406,"height":60,"type":"text","text":"backend::RegisterBackend(*controller_);"}, + {"id":"c1122f185b292a7c","x":-247,"y":-227,"width":480,"height":145,"type":"text","text":"`vc-fwUpdate\\Frontends-developer\\LogiFWUpdate\\Ui\\LogiFWUpdateDlg.cpp:2761`\n\n--------------------------------------------\n\n`InitializeImageProviders()`"}, + {"id":"5db0c6d04d6655c7","x":1007,"y":-462,"width":269,"height":60,"type":"text","text":"`AudioDeviceUpdateTask`"}, + {"id":"f3ccd922e41c8fa2","x":1007,"y":-396,"width":250,"height":60,"type":"text","text":"`BLEDeviceUpdateTask`"}, + {"id":"3668ba992c38b26a","x":1007,"y":-330,"width":250,"height":60,"type":"text","text":"`AudioCodecUpdateTask`"}, + {"id":"aa2444242b481f93","x":1007,"y":-247,"width":250,"height":55,"type":"text","text":"`VideoDeviceUpdateTask`"}, + {"id":"eca2584c45b6e6d5","x":1007,"y":-167,"width":250,"height":60,"type":"text","text":"`VideoEepromUpdateTask`"}, + {"id":"6aab61cd927b9307","x":-434,"y":-48,"width":311,"height":60,"type":"text","text":"`Impl::RegisterForPnpNotification()`"}, + {"id":"dade636ce2d72147","x":-434,"y":40,"width":250,"height":60,"type":"text","text":"`Impl::InitializeTasks()`"}, + {"id":"7ff8bac3fc3253f1","x":-434,"y":125,"width":311,"height":55,"type":"text","text":"`Impl::InitializeDynamicControls()`"}, + {"id":"5d03eb8ecaadd1dd","x":-750,"y":-823,"width":337,"height":60,"type":"text","text":"`BOOL CLogiFWUpdateDlg::OnInitDialog()`"} + ], + "edges":[ + {"id":"b621a476fd748a7d","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"e01a865b5a13d6e9","toSide":"left"}, + {"id":"4c8321febd557726","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"7d8839591c30f61a","toSide":"left"}, + {"id":"9189c6bb3b246620","fromNode":"e01a865b5a13d6e9","fromSide":"right","toNode":"5f57db192293a0ec","toSide":"left"}, + {"id":"2e110f57dd9e5bd7","fromNode":"5f57db192293a0ec","fromSide":"right","toNode":"5e7c147cd533a922","toSide":"left"}, + {"id":"532b641829d3f018","fromNode":"5e7c147cd533a922","fromSide":"right","toNode":"cd7947e8636e6b51","toSide":"left"}, + {"id":"1b9ae28111c94762","fromNode":"7d8839591c30f61a","fromSide":"right","toNode":"58150c82625254cd","toSide":"left"}, + {"id":"bafcfd90de5e5be7","fromNode":"58150c82625254cd","fromSide":"right","toNode":"5db0c6d04d6655c7","toSide":"left"}, + {"id":"6cb9b23f0f009736","fromNode":"58150c82625254cd","fromSide":"right","toNode":"f3ccd922e41c8fa2","toSide":"left"}, + {"id":"9aad0f03a71efc9c","fromNode":"58150c82625254cd","fromSide":"right","toNode":"3668ba992c38b26a","toSide":"left"}, + {"id":"491802f7e6933c36","fromNode":"58150c82625254cd","fromSide":"right","toNode":"aa2444242b481f93","toSide":"left"}, + {"id":"ff38d8bf4a41eb8e","fromNode":"58150c82625254cd","fromSide":"right","toNode":"eca2584c45b6e6d5","toSide":"left"}, + {"id":"c9e94cf99468eddd","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"c1122f185b292a7c","toSide":"left"}, + {"id":"91b93c94fe07a699","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"35301ec811a15aa2","toSide":"left"}, + {"id":"7df607f1045d8c07","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"6aab61cd927b9307","toSide":"left"}, + {"id":"a996f628d78564a0","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"dade636ce2d72147","toSide":"left"}, + {"id":"2969440a55132bf4","fromNode":"6bfc707fe9365d07","fromSide":"bottom","toNode":"7ff8bac3fc3253f1","toSide":"left"}, + {"id":"59e4e9a99d0afb3b","fromNode":"5d03eb8ecaadd1dd","fromSide":"bottom","toNode":"6bfc707fe9365d07","toSide":"left"} + ] +} \ No newline at end of file diff --git a/00. Inbox/vc-fwUpdate code trace.canvas b/00. Inbox/vc-fwUpdate code trace.canvas deleted file mode 100644 index b9c5b54..0000000 --- a/00. Inbox/vc-fwUpdate code trace.canvas +++ /dev/null @@ -1,22 +0,0 @@ -{ - "nodes":[ - {"id":"bca2e26971f309a8","x":-15,"y":-532,"width":435,"height":61,"type":"text","text":"struct cliwrapper::Impl\n`unique_ptr\tcontroller_;`"}, - {"id":"a00edea0eae89ae6","x":-911,"y":-501,"width":250,"height":60,"type":"text","text":"CLogiFWUpdateDlg"}, - {"id":"35301ec811a15aa2","x":-738,"y":-424,"width":283,"height":50,"type":"text","text":"Impl::InitializeController()"}, - {"id":"e01a865b5a13d6e9","x":-535,"y":-350,"width":480,"height":51,"type":"text","text":"controller_ = controller::CreateUpdateController();"}, - {"id":"5f57db192293a0ec","x":-31,"y":-350,"width":168,"height":51,"type":"text","text":"Impl() d_"}, - {"id":"5e7c147cd533a922","x":165,"y":-350,"width":289,"height":51,"type":"text","text":"d_->CreatePnpProvider();"}, - {"id":"7d8839591c30f61a","x":-535,"y":-275,"width":406,"height":60,"type":"text","text":"backend::RegisterBackend(*controller_);"}, - {"id":"cd7947e8636e6b51","x":491,"y":-409,"width":347,"height":110,"type":"text","text":"建立一個看不見的window,背後會有一個thread來接收 device notification events:WM_DEVICECHANGE"}, - {"id":"58150c82625254cd","x":-55,"y":-275,"width":662,"height":162,"type":"text","text":"`vc-fwUpdate\\Backends\\MeridianBackend\\registration.cpp`\n```cpp\nlogitech::fwupdate::backend::RegisterBackend(IUpdateController& controller) {\n\n}\n```"} - ], - "edges":[ - {"id":"55230e1d6c9cf6b8","fromNode":"a00edea0eae89ae6","fromSide":"bottom","toNode":"35301ec811a15aa2","toSide":"left"}, - {"id":"b621a476fd748a7d","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"e01a865b5a13d6e9","toSide":"left"}, - {"id":"4c8321febd557726","fromNode":"35301ec811a15aa2","fromSide":"bottom","toNode":"7d8839591c30f61a","toSide":"left"}, - {"id":"9189c6bb3b246620","fromNode":"e01a865b5a13d6e9","fromSide":"right","toNode":"5f57db192293a0ec","toSide":"left"}, - {"id":"2e110f57dd9e5bd7","fromNode":"5f57db192293a0ec","fromSide":"right","toNode":"5e7c147cd533a922","toSide":"left"}, - {"id":"532b641829d3f018","fromNode":"5e7c147cd533a922","fromSide":"right","toNode":"cd7947e8636e6b51","toSide":"left"}, - {"id":"1b9ae28111c94762","fromNode":"7d8839591c30f61a","fromSide":"right","toNode":"58150c82625254cd","toSide":"left"} - ] -} \ No newline at end of file