1 /* 2 * This file is part of signon 3 * 4 * Copyright (C) 2013 Canonical Ltd. 5 * 6 * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public License 10 * version 2.1 as published by the Free Software Foundation. 11 * 12 * This library is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 20 * 02110-1301 USA 21 */ 22 23 #ifndef SIGNON_MOCK_ACCESS_CONTROL_MANAGER_H 24 #define SIGNON_MOCK_ACCESS_CONTROL_MANAGER_H 25 26 #include <SignOn/AbstractAccessControlManager> 27 #include <sys/types.h> 28 29 #include <sys/types.h> 30 #include <unistd.h> 31 32 class AccessControlManager: public SignOn::AbstractAccessControlManager 33 { 34 Q_OBJECT 35 36 public: 37 AccessControlManager(QObject *parent = 0); 38 ~AccessControlManager(); 39 40 bool isPeerAllowedToAccess(const QDBusConnection &peerConnection, 41 const QDBusMessage &peerMessage, 42 const QString &securityContext); 43 44 QString appIdOfPeer(const QDBusConnection &peerConnection, 45 const QDBusMessage &peerMessage); 46 47 QString keychainWidgetAppId(); 48 49 SignOn::AccessReply *handleRequest(const SignOn::AccessRequest &request); 50 51 private: 52 pid_t pidOfPeer(const QDBusConnection &peerConnection, 53 const QDBusMessage &peerMessage); 54 }; 55 56 #endif // SIGNON_MOCK_ACCESS_CONTROL_MANAGER_H 57