~quassel-dev/quassel/i18n-master

« back to all changes in this revision

Viewing changes to main/util.cpp

  • Committer: Manuel Nickschas
  • Date: 2007-06-20 01:21:00 UTC
  • Revision ID: git-v1:077d44f36d2f5c730283ef6be839aea7dd073d56
Starting reorganization of files in preparation of separation of client and GUI.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 *   Copyright (C) 2005/06 by The Quassel Team                             *
3
 
 *   devel@quassel-irc.org                                                 *
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     *
16
 
 *   along with this program; if not, write to the                         *
17
 
 *   Free Software Foundation, Inc.,                                       *
18
 
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 
 ***************************************************************************/
20
 
 
21
 
#include "util.h"
22
 
 
23
 
#include <QtCore>
24
 
 
25
 
QString nickFromMask(QString mask) {
26
 
  return mask.section('!', 0, 0);
27
 
}
28
 
 
29
 
QString userFromMask(QString mask) {
30
 
  QString userhost = mask.section('!', 1);
31
 
  if(userhost.isEmpty()) return QString();
32
 
  return userhost.section('@', 0, 0);
33
 
}
34
 
 
35
 
QString hostFromMask(QString mask) {
36
 
  QString userhost = mask.section('!', 1);
37
 
  if(userhost.isEmpty()) return QString();
38
 
  return userhost.section('@', 1);
39
 
}
40
 
 
41
 
bool isChannelName(QString str) {
42
 
  return QString("#&!+").contains(str[0]);
43
 
}
44
 
 
45
 
void writeDataToDevice(QIODevice *dev, const QVariant &item) {
46
 
  QByteArray block;
47
 
  QDataStream out(&block, QIODevice::WriteOnly);
48
 
  out.setVersion(QDataStream::Qt_4_2);
49
 
  out << (quint32)0 << item;
50
 
  out.device()->seek(0);
51
 
  out << (quint32)(block.size() - sizeof(quint32));
52
 
  dev->write(block);
53
 
}
54
 
 
55
 
bool readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVariant &item) {
56
 
  QDataStream in(dev);
57
 
  in.setVersion(QDataStream::Qt_4_2);
58
 
 
59
 
  if(blockSize == 0) {
60
 
    if(dev->bytesAvailable() < (int)sizeof(quint32)) return false;
61
 
    in >> blockSize;
62
 
  }
63
 
  if(dev->bytesAvailable() < blockSize) return false;
64
 
  in >> item;
65
 
  return true;
66
 
}