Changeset c91916f in nscp


Ignore:
Timestamp:
08/04/12 08:47:51 (10 months ago)
Author:
Michael Medin <michael@…>
Branches:
master, 0.4.1, 0.4.2
Children:
24f6e3f
Parents:
ee230f7
Message:
  • Fixed exception with "nscp service"
  • Improved nscp settings so help is displayed.
  • Improved nscp settings so default action (no arguments) also lists all installed services.
  • Improved nscp settings to default list service nscp as well as legcy nsclientpp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • changelog

    ree230f7 rc91916f  
    44 * Fix dependonservice LanManWorkStation (old win) 
    55 * Fix RtlStringFromGUID problem on NT4 
     6 
     72012-08-04 MickeM 
     8 * Fixed exception with "nscp service" 
     9 * Improved nscp settings so help is displayed. 
     10 * Improved nscp settings so default action (no arguments) also lists all installed services. 
     11 * Improved nscp settings to default list service nscp as well as legcy nsclientpp 
    612 
    7132012-08-03 MickeM 
  • service/cli_parser.hpp

    rb611d99 rc91916f  
    321321        name = vm["name"].as<std::wstring>(); 
    322322      } else { 
    323         get_logger()->info(__FILE__, __LINE__, _T("TODO retrieve name from service here")); 
     323        name = nsclient::client::service_manager::get_default_service_name(); 
    324324      } 
    325325      std::wstring desc; 
     
    351351        } else if (vm.count("stop")) { 
    352352          service_manager.stop(); 
    353         } else if (vm.count("info")) { 
    354           service_manager.info(); 
    355353        } else { 
    356           std::cerr << "Missing argument" << std::endl; 
    357           return 1; 
     354          if (vm.count("info") == 0) { 
     355            std::cerr << all << std::endl; 
     356            std::wcerr << _T("Invalid syntax: missing argument") << std::endl; 
     357          } 
     358          std::wcout << _T("Installed services: ") << std::endl;; 
     359          std::wcout << name << _T(": ") << service_manager.info() << std::endl; 
     360          { 
     361            nsclient::client::service_manager lsm(_T("nsclientpp")); 
     362            std::wstring cmd = lsm.info(); 
     363            if (!cmd.empty()) { 
     364              std::wcout << _T("nsclientpp (legacy): ") << cmd << std::endl; 
     365            } 
     366 
     367          } 
     368          return vm.count("info"); 
    358369        } 
    359370      } 
  • service/logger_impl.hpp

    r8d89d7a rc91916f  
    3232          if (!lock.owns_lock()) 
    3333            return; 
     34          if (subscribers_.empty()) 
     35            return; 
    3436          BOOST_FOREACH(subscriber_type & s, subscribers_) { 
    3537            s->on_raw_log_message(data); 
  • service/service_manager.hpp

    r8d89d7a rc91916f  
    8080        return 0; 
    8181      } 
    82       int info() { 
     82      std::wstring info() { 
    8383        try { 
    84           std::wstring exe = serviceControll::get_exe_path(service_name_); 
    85           print_error(_T("The Service uses: ") + exe); 
     84          return serviceControll::get_exe_path(service_name_); 
    8685        } catch (const serviceControll::SCException& e) { 
    8786          print_error(_T("Failed to find service: ") + e.error_); 
    88           return -1; 
     87          return _T(""); 
    8988        } 
    90         return 0; 
    9189      } 
    9290    }; 
     
    111109        return unsupported(); 
    112110      } 
    113       int info() { 
    114         return unsupported(); 
     111      std::wstring info() { 
     112        return _T(""); 
    115113      } 
    116114    }; 
Note: See TracChangeset for help on using the changeset viewer.