diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 8aa68a1..5f7a2c8 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -43,9 +43,9 @@ "state": { "file": "00. Inbox/vc-fwUpdate code trace.canvas", "viewState": { - "x": -75.5, - "y": -103.5, - "zoom": -0.5, + "x": -43, + "y": -346, + "zoom": -0.26061884220394266, "snapToGrid": false } } diff --git a/00. Inbox/vc-fwUpdate code trace.canvas b/00. Inbox/vc-fwUpdate code trace.canvas index 0416dac..b9c5b54 100644 --- a/00. Inbox/vc-fwUpdate code trace.canvas +++ b/00. Inbox/vc-fwUpdate code trace.canvas @@ -1,12 +1,22 @@ { "nodes":[ - {"id":"a00edea0eae89ae6","x":-844,"y":-435,"width":250,"height":60,"type":"text","text":"CLogiFWUpdateDlg"}, - {"id":"35301ec811a15aa2","x":-786,"y":-371,"width":283,"height":60,"type":"text","text":"Impl::InitializeController()"}, - {"id":"e01a865b5a13d6e9","x":-738,"y":-296,"width":480,"height":51,"type":"text","text":"controller_ = controller::CreateUpdateController();"}, {"id":"bca2e26971f309a8","x":-15,"y":-532,"width":435,"height":61,"type":"text","text":"struct cliwrapper::Impl\n`unique_ptr\tcontroller_;`"}, - {"id":"5f57db192293a0ec","x":-224,"y":-296,"width":168,"height":51,"type":"text","text":"Impl() d_"}, - {"id":"5e7c147cd533a922","x":-31,"y":-296,"width":289,"height":51,"type":"text","text":"d_->CreatePnpProvider();"}, - {"id":"cd7947e8636e6b51","x":282,"y":-296,"width":310,"height":60,"type":"text","text":"背後會有一個thread來接收 device notification events"} + {"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":[] + "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