ircresponseparseresult.cpp
1 //------------------------------------------------------------------------------
2 // ircresponseparseresult.cpp
3 //
4 // Copyright (C) 2011 "Zalewa" <zalewapl@gmail.com>
5 //------------------------------------------------------------------------------
6 #include "ircresponseparseresult.h"
7 
8 #include "irc/constants/ircresponsetype.h"
9 
10 // This is returned by IRCResponseParseResult::type() if the result is invalid.
11 // Do not modify contents of this var!
12 const IRCResponseType invalidResponseType;
13 
15 {
16  d.pResponseType = NULL;
17  d.bWasParsed = false;
18 }
19 
21 {
22  d.bWasParsed = bWasParsed;
23  d.pResponseType = new IRCResponseType(responseType);
24 }
25 
27 {
28  d.pResponseType = NULL;
29  copyIn(other);
30 }
31 
32 IRCResponseParseResult::~IRCResponseParseResult()
33 {
34  if (d.pResponseType != NULL)
35  {
36  delete d.pResponseType;
37  }
38 }
39 
40 void IRCResponseParseResult::copyIn(const IRCResponseParseResult& other)
41 {
42  d.bWasParsed = other.d.bWasParsed;
43  if (d.pResponseType != NULL)
44  {
45  delete d.pResponseType;
46  d.pResponseType = NULL;
47  }
48 
49  if (other.d.pResponseType != NULL)
50  {
51  d.pResponseType = new IRCResponseType(*other.d.pResponseType);
52  }
53 }
54 
55 IRCResponseParseResult& IRCResponseParseResult::operator=(const IRCResponseParseResult& other)
56 {
57  if (this != &other)
58  {
59  copyIn(other);
60  }
61 
62  return *this;
63 }
64 
66 {
67  if (d.pResponseType == NULL)
68  {
69  return invalidResponseType;
70  }
71 
72  return *d.pResponseType;
73 }
IRCResponseParseResult()
Creates an invalid object.
Defines types of IRC network response message.
const IRCResponseType & type() const
Type of the response as defined by IRCResponseType.
Result info generated by the IRCResponseParser.