diff -r 3d09643def13 -r 6bfad47013df qthighway/xqserviceutil/src/processinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qthighway/xqserviceutil/src/processinfo.h Mon Oct 04 01:32:41 2010 +0300 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* 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 Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ + +#ifndef PROCESSINFO_H_ +#define PROCESSINFO_H_ + +#include +#include + +class CProcessInfo : public CActive +{ +public: + static void AddProcessL(const TUid& appUid, RProcess& appProcess); + static bool EnsureProcessCanStartL(const TUid& appUid); + static void Destroy(); + +protected: + CProcessInfo(const TUid& appUid); + ~CProcessInfo(); + void ConstructL(RProcess& appProcess); + void DoCancel(); + void RunL(); + +protected: + class ProcessInfoMap + { + public: + ~ProcessInfoMap(); + QHash map; + }; + + static ProcessInfoMap iProcessInfoMap; + const TUid iAppUid; +}; + +class ProcessInfoDestroyer : public QObject +{ + Q_OBJECT +public: + static void enable(); + static void disable(); + +public slots: + void destroy(); + +private: + ProcessInfoDestroyer(); + + static ProcessInfoDestroyer *instance; +}; + +#endif /* PROCESSINFO_H_ */