~cszikszoy/do-plugins/pastebin

« back to all changes in this revision

Viewing changes to Pidgin/src/Pidgin.cs

  • Committer: djsiegel at gmail
  • Date: 2007-11-07 17:13:21 UTC
  • Revision ID: djsiegel@gmail.com-20071107171321-zgu46ukqlpdx1ypa
Initial files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  Pidgin.cs
 
2
//
 
3
//  GNOME Do is the legal property of its developers, whose names are too numerous
 
4
//  to list here.  Please refer to the COPYRIGHT file distributed with this
 
5
//  source distribution.
 
6
//
 
7
//  This program is free software: you can redistribute it and/or modify
 
8
//  it under the terms of the GNU General Public License as published by
 
9
//  the Free Software Foundation, either version 3 of the License, or
 
10
//  (at your option) any later version.
 
11
//
 
12
//  This program is distributed in the hope that it will be useful,
 
13
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
//  GNU General Public License for more details.
 
16
//
 
17
//  You should have received a copy of the GNU General Public License
 
18
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
19
 
 
20
using System;
 
21
using System.Diagnostics;
 
22
 
 
23
namespace Do.Addins
 
24
{
 
25
        
 
26
        public class Pidgin
 
27
        {
 
28
                
 
29
                public static bool InstanceIsRunning ()
 
30
                {
 
31
                        Process pidof;
 
32
                        
 
33
                        try {
 
34
                                // Use pidof command to look for pidgin process. Exit
 
35
                                // status is 0 if at least one matching process is found.
 
36
                                // If there's any error, just assume some Purple client
 
37
                                // is running.
 
38
                                pidof = Process.Start ("pidof", "pidgin");
 
39
                                pidof.WaitForExit ();
 
40
                                return pidof.ExitCode == 0;
 
41
                        } catch {
 
42
                                return true;
 
43
                        }
 
44
                }
 
45
        }
 
46
}