master
h 34 lines 1.23 KB
Raw
1 /*++
2
3 Copyright (c) Microsoft. All rights reserved.
4
5 Module Name:
6
7 NetworkService.h
8
9 Abstract:
10
11 This file contains the NetworkService definition
12
13 --*/
14 #pragma once
15
16 #include "SessionModel.h"
17 #include "NetworkModel.h"
18 #include "Terminal.h"
19 #include <wslc.h>
20 #include <wslc_schema.h>
21
22 namespace wsl::windows::wslc::services {
23 struct NetworkService
24 {
25 static void Create(Terminal& terminal, models::Session& session, const models::CreateNetworkOptions& createOptions);
26 static void Delete(models::Session& session, const std::string& name);
27 static std::vector<wsl::windows::common::wslc_schema::NetworkListEntry> List(
28 models::Session& session, const std::vector<std::pair<std::string, std::string>>& filters = {});
29 static wsl::windows::common::wslc_schema::Network Inspect(models::Session& session, const std::string& name);
30 static models::PruneNetworksResult Prune(models::Session& session, const std::vector<std::pair<std::string, std::string>>& filters = {});
31 static void Connect(models::Session& session, const models::ConnectNetworkOptions& connectOptions);
32 static void Disconnect(models::Session& session, const std::string& networkName, const std::string& containerId);
33 };
34 } // namespace wsl::windows::wslc::services