summaryrefslogtreecommitdiff
path: root/tests/test-security-without-aegis-token/test-security.cpp
blob: 1a90009a15e7ec5fa12c8059cfc189e9ab95c12a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "qt4/policy/resource-set.h"
#include <cstdio>
#include <cstdlib>
#include <QCoreApplication>

using namespace ResourcePolicy;

class TestSecurity: public QObject
{
    Q_OBJECT

public:
    void testSecurity() {

      ResourceSet *resourceSet = new ResourceSet("call", this);
      resourceSet->addResource(ResourcePolicy::AudioRecorderType);

      connect(resourceSet, SIGNAL(resourcesGranted(const QList<ResourcePolicy::ResourceType>&)),
              this,        SLOT(resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>&)));

      connect(resourceSet, SIGNAL(errorCallback(quint32, const char*)), this, SLOT(errorCallback(quint32, const char*)));

      resourceSet->acquire();
    }

private slots:
    void resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>& /*grantedOptionalResList*/) {
      printf(">>> resource acquired\n");
      exit(0);
    }

    void errorCallback(quint32 code, const char* message) {
      printf(">>> error %u, %s\n", code, message);
      exit(1);
    }
};

int main(int argc, char* argv[]) {
  QCoreApplication app(argc, argv);

  TestSecurity *test = new TestSecurity();
  test->testSecurity();

  return app.exec();
}

#include "test-security.moc"