• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

krfb

  • sources
  • kde-4.12
  • kdenetwork
  • krfb
  • krfb
invitation.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  Copyright 2002 Tim Jansen <tim@tjansen.de>
3  Copyright 2002 Stefan Taferner <taferner@kde.org>
4  ***************************************************************************/
5 
6 /***************************************************************************
7  * *
8  * This program is free software; you can redistribute it and/or modify *
9  * it under the terms of the GNU General Public License as published by *
10  * the Free Software Foundation; either version 2 of the License, or *
11  * (at your option) any later version. *
12  * *
13  ***************************************************************************/
14 
15 #include "invitation.h"
16 
17 #include <KConfigGroup>
18 #include <KDebug>
19 #include <KRandom>
20 #include <KStringHandler>
21 
22 // a random string that doesn't contain i, I, o, O, 1, 0
23 // based on KRandom::randomString()
24 static QString readableRandomString(int length)
25 {
26  QString str;
27 
28  while (length) {
29  int r = KRandom::random() % 62;
30  r += 48;
31 
32  if (r > 57) {
33  r += 7;
34  }
35 
36  if (r > 90) {
37  r += 6;
38  }
39 
40  char c = char(r);
41 
42  if ((c == 'i') ||
43  (c == 'I') ||
44  (c == '1') ||
45  (c == 'o') ||
46  (c == 'O') ||
47  (c == '0')) {
48  continue;
49  }
50 
51  str += c;
52  length--;
53  }
54 
55  return str;
56 }
57 
58 Invitation::Invitation()
59 {
60  m_password = readableRandomString(4) + '-' + readableRandomString(3);
61  m_creationTime = QDateTime::currentDateTime();
62  m_expirationTime = QDateTime::currentDateTime().addSecs(INVITATION_DURATION);
63 }
64 
65 Invitation::Invitation(const Invitation &x)
66  : m_password(x.m_password), m_creationTime(x.m_creationTime), m_expirationTime(x.m_expirationTime)
67 {
68 }
69 
70 Invitation::Invitation(const KConfigGroup &config)
71 {
72  m_password = KStringHandler::obscure(config.readEntry("password", QString()));
73  kDebug() << "read: " << config.readEntry("password", QString()) << " = " << m_password;
74  m_creationTime = config.readEntry("creation", QDateTime());
75  m_expirationTime = config.readEntry("expiration", QDateTime());
76 }
77 
78 Invitation::~Invitation()
79 {
80 }
81 
82 Invitation &Invitation::operator= (const Invitation &x)
83 {
84  m_password = x.m_password;
85  m_creationTime = x.m_creationTime;
86  m_expirationTime = x.m_expirationTime;
87  return *this;
88 }
89 
90 void Invitation::save(KConfigGroup &config) const
91 {
92  config.writeEntry("password", KStringHandler::obscure(m_password));
93  config.writeEntry("creation", m_creationTime);
94  config.writeEntry("expiration", m_expirationTime);
95 }
96 
97 QString Invitation::password() const
98 {
99  return m_password;
100 }
101 
102 QDateTime Invitation::expirationTime() const
103 {
104  return m_expirationTime;
105 }
106 
107 QDateTime Invitation::creationTime() const
108 {
109  return m_creationTime;
110 }
111 
112 bool Invitation::isValid() const
113 {
114  return m_expirationTime > QDateTime::currentDateTime();
115 }
116 
117 bool Invitation::operator ==(const Invitation &ot)
118 {
119  return m_creationTime == ot.m_creationTime && m_password == ot.m_password;
120 }
INVITATION_DURATION
const int INVITATION_DURATION
Definition: invitation.h:27
Invitation::operator=
Invitation & operator=(const Invitation &x)
Definition: invitation.cpp:82
Invitation::isValid
bool isValid() const
Definition: invitation.cpp:112
Invitation::save
void save(KConfigGroup &config) const
Definition: invitation.cpp:90
Invitation::expirationTime
QDateTime expirationTime() const
Definition: invitation.cpp:102
readableRandomString
static QString readableRandomString(int length)
Definition: invitation.cpp:24
invitation.h
Invitation::Invitation
Invitation()
Definition: invitation.cpp:58
Invitation
Definition: invitation.h:29
Invitation::~Invitation
~Invitation()
Definition: invitation.cpp:78
Invitation::operator==
bool operator==(const Invitation &ot)
Definition: invitation.cpp:117
Invitation::password
QString password() const
Definition: invitation.cpp:97
Invitation::creationTime
QDateTime creationTime() const
Definition: invitation.cpp:107
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:54:10 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

krfb

Skip menu "krfb"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal