]> icculus.org git repositories - divverent/netradiant.git/blob - plugins/archivezip/plugin.cpp
fix "ExpandPath called without qdir set" as qdir is never set in Xonotic/Nexuiz/any...
[divverent/netradiant.git] / plugins / archivezip / plugin.cpp
1 /*
2 Copyright (C) 2001-2006, William Joseph.
3 All Rights Reserved.
4
5 This file is part of GtkRadiant.
6
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 GtkRadiant is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21
22 #include "plugin.h"
23
24 #include "iarchive.h"
25
26 #include "debugging/debugging.h"
27 #include "modulesystem/singletonmodule.h"
28
29 #include "archive.h"
30
31
32 class ArchiveZipAPI
33 {
34   _QERArchiveTable m_archivezip;
35 public:
36   typedef _QERArchiveTable Type;
37   STRING_CONSTANT(Name, "pk3");
38
39   ArchiveZipAPI()
40   {
41     m_archivezip.m_pfnOpenArchive = &OpenArchive;
42   }
43   _QERArchiveTable* getTable()
44   {
45     return &m_archivezip;
46   }
47 };
48
49 typedef SingletonModule<ArchiveZipAPI> ArchiveZipModule;
50
51 ArchiveZipModule g_ArchiveZipModule;
52
53
54 class ArchivePK4API
55 {
56   _QERArchiveTable m_archivepk4;
57 public:
58   typedef _QERArchiveTable Type;
59   STRING_CONSTANT(Name, "pk4");
60
61   ArchivePK4API()
62   {
63     m_archivepk4.m_pfnOpenArchive = &OpenArchive;
64   }
65   _QERArchiveTable* getTable()
66   {
67     return &m_archivepk4;
68   }
69 };
70
71 typedef SingletonModule<ArchivePK4API> ArchivePK4Module;
72
73 ArchivePK4Module g_ArchivePK4Module;
74
75
76 extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer& server)
77 {
78   initialiseModule(server);
79
80   g_ArchiveZipModule.selfRegister();
81   g_ArchivePK4Module.selfRegister();
82 }