grim/govcs
Clone
Summary
Browse
Changes
Graph
Add a simple readme
draft
2017-12-05, Gary Kramlich
9798f686fc4f
Add a simple readme
/*
* govcs
* Copyright 2017 Gary Kramlich <grim@reaperworld.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package
exec
import
(
"os/exec"
"sync"
)
type
ExecBackend
func
(
name
string
,
args
...
string
)
Cmd
var
(
activeBackend
ExecBackend
lock
sync
.
Mutex
)
func
init
()
{
SetBackend
(
func
(
name
string
,
args
...
string
)
Cmd
{
cmd
:=
exec
.
Command
(
name
,
args
...
)
return
Cmd
(
cmd
)
})
}
func
SetBackend
(
backend
ExecBackend
)
{
lock
.
Lock
()
defer
lock
.
Unlock
()
activeBackend
=
backend
}
func
Backend
()
ExecBackend
{
return
activeBackend
}
func
Command
(
name
string
,
args
...
string
)
Cmd
{
return
activeBackend
(
name
,
args
...
)
}