Pass the current settings down to the parsers so they can behave accordingly (i.e...
[qwerkisync] / EventParsers / VMGEntities / SMSEntity.h
1 /*
2  * Copyright (C) 2011, Jamie Thompson
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public
6  * License as published by the Free Software Foundation; either
7  * version 3 of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public
15  * License along with this program; If not, see
16  * <http://www.gnu.org/licenses/>.
17  */
18
19 #ifndef EVENTPARSERS_VMGEntities_SMSENTITY_H
20 #define EVENTPARSERS_VMGEntities_SMSENTITY_H
21
22 #include <cstddef>
23 #include <typeinfo>
24
25 namespace EventParsers
26 {
27         namespace VMGEntities
28         {
29                 class iReader;
30
31                 class SMSEntity
32                 {
33                 public:
34                         virtual ~SMSEntity() {};
35                         SMSEntity(const Settings &settings, const SMSEntity* parent);
36
37                 protected:
38                         const bool isAttachment() const;
39
40                         const SMSEntity* m_Parent;
41                         const SMSEntity* getParent() const { return m_Parent; };
42                         const Settings &CurrentSettings() const { return m_Settings; }
43
44                         virtual const char* getTagName() const { return "VBODY"; }
45                         const Settings &m_Settings;
46                 };
47         }
48 }
49
50 #endif // EVENTPARSERS_VMGEntities_SMSENTITY_H