OSDN Git Service

642c9fbdc1765475f59a0e3b2224b4f3295836d3
[lamexp/LameXP.git] / src / Thread_MessageProducer.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // LameXP - Audio Encoder Front-End
3 // Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License along
16 // with this program; if not, write to the Free Software Foundation, Inc.,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 //
19 // http://www.gnu.org/licenses/gpl-2.0.txt
20 ///////////////////////////////////////////////////////////////////////////////
21
22 #include "Thread_MessageProducer.h"
23
24 #include "Global.h"
25
26 #include <QStringList>
27 #include <QApplication>
28 #include <QFileInfo>
29
30 #include <limits.h>
31
32 ////////////////////////////////////////////////////////////
33 // Constructor
34 ////////////////////////////////////////////////////////////
35
36 MessageProducerThread::MessageProducerThread(void)
37 {
38 }
39
40 MessageProducerThread::~MessageProducerThread(void)
41 {
42 }
43
44 void MessageProducerThread::run()
45 {
46         setTerminationEnabled(true);
47         bool bSentFiles = false;
48         QStringList arguments = QApplication::arguments();
49
50         for(int i = 0; i < arguments.count(); i++)
51         {
52                 if(!arguments[i].compare("--kill", Qt::CaseInsensitive))
53                 {
54                         lamexp_ipc_send(666, NULL);
55                         return;
56                 }
57                 if(!arguments[i].compare("--force-kill", Qt::CaseInsensitive))
58                 {
59                         lamexp_ipc_send(666, "Force!");
60                         return;
61                 }
62         }
63
64         for(int i = 0; i < arguments.count() - 1; i++)
65         {
66                 if(!arguments[i].compare("--add", Qt::CaseInsensitive))
67                 {
68                         lamexp_ipc_send(1, QFileInfo(arguments[++i]).canonicalFilePath().toUtf8().constData());
69                         bSentFiles = true;
70                 }
71         }
72
73         if(!bSentFiles)
74         {
75                 lamexp_ipc_send(UINT_MAX, "Use running instance!");
76         }
77 }
78
79 ////////////////////////////////////////////////////////////
80 // EVENTS
81 ////////////////////////////////////////////////////////////
82
83 /*NONE*/