MCPcopy Create free account
hub / github.com/alibaba/MNN / Handle

Method Handle

apps/mnncli/src/handlers/config_command_handler.cpp:28–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26}
27
28int ConfigCommandHandler::Handle(const ParsedCommand& cmd) {
29 auto& config_mgr = mnncli::ConfigManager::GetInstance();
30
31 // If no arguments, show all config
32 if (cmd.arguments.empty()) {
33 auto cfg = config_mgr.LoadConfig();
34 config_mgr.ShowConfig(cfg);
35 return 0;
36 }
37
38 std::string subcommand = cmd.arguments[0];
39
40 if (subcommand == "show") {
41 auto cfg = config_mgr.LoadConfig();
42 config_mgr.ShowConfig(cfg);
43 return 0;
44 } else if (subcommand == "get") {
45 if (cmd.arguments.size() < 2) {
46 mnncli::UserInterface::ShowError("Config key required", "Usage: mnncli config get <key>");
47 return 1;
48 }
49 std::string key = cmd.arguments[1];
50 auto cfg = config_mgr.LoadConfig();
51
52 if (key == "default_model") {
53 std::cout << "default_model = " << cfg.default_model << "\n";
54 } else if (key == "download_provider") {
55 std::cout << "download_provider = " << cfg.download_provider << "\n";
56 } else if (key == "model_cache_dir") {
57 std::cout << "model_cache_dir = " << cfg.cache_dir << "\n";
58 } else {
59 mnncli::UserInterface::ShowError("Unknown config key: " + key);
60 return 1;
61 }
62 return 0;
63 } else if (subcommand == "set") {
64 if (cmd.arguments.size() < 3) {
65 mnncli::UserInterface::ShowError("Usage: mnncli config set <key> <value>");
66 return 1;
67 }
68 std::string key = cmd.arguments[1];
69 std::string value = cmd.arguments[2];
70
71 auto cfg = config_mgr.LoadConfig();
72 if (key == "default_model") {
73 cfg.default_model = value;
74 } else if (key == "download_provider") {
75 cfg.download_provider = value;
76 } else if (key == "cache_dir") {
77 cfg.cache_dir = value;
78 } else {
79 mnncli::UserInterface::ShowError("Unknown config key: " + key);
80 return 1;
81 }
82
83 config_mgr.SaveConfig(cfg);
84 std::cout << "Config updated: " << key << " = " << value << "\n";
85 return 0;

Callers

nothing calls this directly

Calls 6

LoadConfigMethod · 0.80
SaveConfigMethod · 0.80
ResetConfigMethod · 0.80
emptyMethod · 0.45
ShowConfigMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected