]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules.cpp
1b17a61e27692c7cbe0fafddc757bb6014937472
[user/henk/code/inspircd.git] / src / modules.cpp
1 /*
2
3
4 */
5
6
7
8 #include <typeinfo>
9 #include <iostream.h>
10 #include "globals.h"
11 #include "modules.h"
12 #include "inspircd_io.h"
13
14 // version is a simple class for holding a modules version number
15
16 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
17
18 // admin is a simple class for holding a server's administrative info
19
20 Admin::Admin(string name, string email, string nick) : Name(name), Email(email), Nick(nick) { };
21
22 //
23 // Announce to the world that the Module base
24 // class has been created or destroyed
25 //
26
27 Module::Module() { }
28 Module::~Module() { }
29 void Module::OnUserConnect(userrec* user) { }
30 void Module::OnUserQuit(userrec* user) { }
31 void Module::OnUserJoin(userrec* user, chanrec* channel) { }
32 void Module::OnUserPart(userrec* user, chanrec* channel) { }
33 Version Module::GetVersion() { return Version(1,0,0,0); }
34
35 // server is a wrapper class that provides methods to all of the C-style
36 // exports in the core
37 //
38
39 Server::Server()
40 {
41 }
42
43 Server::~Server()
44 {
45 }
46
47 void Server::SendOpers(string s)
48 {
49         WriteOpers("%s",s.c_str());
50 }
51
52 void Server::Debug(string s)
53 {
54         debug("%s",s.c_str());
55 }
56
57 void Server::Send(int Socket, string s)
58 {
59         Write(Socket,"%s",s.c_str());
60 }
61
62 void Server::SendServ(int Socket, string s)
63 {
64         WriteServ(Socket,"%s",s.c_str());
65 }
66
67 void Server::SendFrom(int Socket, userrec* User, string s)
68 {
69         WriteFrom(Socket,User,"%s",s.c_str());
70 }
71
72 void Server::SendTo(userrec* Source, userrec* Dest, string s)
73 {
74         WriteTo(Source,Dest,"%s",s.c_str());
75 }
76
77 void Server::SendChannel(userrec* User, chanrec* Channel, string s,bool IncludeSender)
78 {
79         if (IncludeSender)
80         {
81                 WriteChannel(Channel,User,"%s",s.c_str());
82         }
83         else
84         {
85                 ChanExceptSender(Channel,User,"%s",s.c_str());
86         }
87 }
88
89 bool Server::CommonChannels(userrec* u1, userrec* u2)
90 {
91         return (common_channels(u1,u2) != 0);
92 }
93
94 void Server::SendCommon(userrec* User, string text,bool IncludeSender)
95 {
96         if (IncludeSender)
97         {
98                 WriteCommon(User,"%s",text.c_str());
99         }
100         else
101         {
102                 WriteCommonExcept(User,"%s",text.c_str());
103         }
104 }
105
106 void Server::SendWallops(userrec* User, string text)
107 {
108         WriteWallOps(User,"%s",text.c_str());
109 }
110
111 bool Server::IsNick(string nick)
112 {
113         return (isnick(nick.c_str()) != 0);
114 }
115
116 userrec* Server::FindNick(string nick)
117 {
118         return Find(nick);
119 }
120
121 chanrec* Server::FindChannel(string channel)
122 {
123         return FindChan(channel.c_str());
124 }
125
126 string Server::ChanMode(userrec* User, chanrec* Chan)
127 {
128         string mode = cmode(User,Chan);
129         return mode;
130 }
131
132 string Server::GetServerName()
133 {
134         return getservername();
135 }
136
137 string Server::GetNetworkName()
138 {
139         return getnetworkname();
140 }
141
142 Admin Server::GetAdmin()
143 {
144         return Admin(getadminname(),getadminemail(),getadminnick());
145 }
146
147
148 ConfigReader::ConfigReader()
149 {
150         fname = CONFIG_FILE;
151 }
152
153
154 ConfigReader::~ConfigReader()
155 {
156 }
157
158
159 ConfigReader::ConfigReader(string filename) : fname(filename) { };
160
161 string ConfigReader::ReadValue(string tag, string name, int index)
162 {
163         char val[MAXBUF];
164         ReadConf(fname.c_str(),tag.c_str(),name.c_str(),index,val);
165         string s = val;
166         return s;
167 }
168
169
170 int ConfigReader::Enumerate(string tag)
171 {
172         return EnumConf(fname.c_str(),tag.c_str());
173 }
174
175
176 bool ConfigReader::Verify()
177 {
178         return true;
179 }
180
181
182 FileReader::FileReader(string filename)
183 {
184         file_cache c;
185         readfile(c,filename.c_str());
186         this->fc = c;
187 }
188
189 FileReader::FileReader()
190 {
191 }
192
193 void FileReader::LoadFile(string filename)
194 {
195         file_cache c;
196         readfile(c,filename.c_str());
197         this->fc = c;
198 }
199
200 FileReader::~FileReader()
201 {
202 }
203
204 string FileReader::GetLine(int x)
205 {
206         if ((x<0) || (x>fc.size()))
207                 return "";
208         return fc[x];
209 }
210
211 int FileReader::FileSize()
212 {
213         return fc.size();
214 }
215
216