blob: 8aa4da39e2b9e14c37314204c3c87f1aec86a8da [file] [log] [blame]
Darin Petkovf7897bc2011-06-08 17:13:36 -07001// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_GLIB_H_
6#define SHILL_GLIB_H_
7
8#include "shill/glib_interface.h"
9
10namespace shill {
11
12// A concrete implementation of the GLib interface.
13class GLib : public GLibInterface {
14 public:
Darin Petkov92c43902011-06-09 20:46:06 -070015 virtual guint ChildWatchAdd(GPid pid,
16 GChildWatchFunc function,
17 gpointer data);
18 virtual gboolean SourceRemove(guint tag);
Darin Petkovf7897bc2011-06-08 17:13:36 -070019 virtual gboolean SpawnAsync(const gchar *working_directory,
20 gchar **argv,
21 gchar **envp,
22 GSpawnFlags flags,
23 GSpawnChildSetupFunc child_setup,
24 gpointer user_data,
25 GPid *child_pid,
26 GError **error);
Darin Petkov92c43902011-06-09 20:46:06 -070027 virtual void SpawnClosePID(GPid pid);
Darin Petkovf7897bc2011-06-08 17:13:36 -070028};
29
30} // namespace shill
31
32#endif // SHILL_GLIB_H_