This file is indexed.

/usr/include/CEGUI/CEGUIWidgetModule.h is in libcegui-mk2-dev 0.7.5-8.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/***********************************************************************
    filename:   CEGUIWidgetModule.h
    created:    Sun Sep 25 2005
    author:     Paul D Turner <paul@cegui.org.uk>
*************************************************************************/
/***************************************************************************
 *   Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
 *
 *   Permission is hereby granted, free of charge, to any person obtaining
 *   a copy of this software and associated documentation files (the
 *   "Software"), to deal in the Software without restriction, including
 *   without limitation the rights to use, copy, modify, merge, publish,
 *   distribute, sublicense, and/or sell copies of the Software, and to
 *   permit persons to whom the Software is furnished to do so, subject to
 *   the following conditions:
 *
 *   The above copyright notice and this permission notice shall be
 *   included in all copies or substantial portions of the Software.
 *
 *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *   OTHER DEALINGS IN THE SOFTWARE.
 ***************************************************************************/
#ifndef _CEGUIWidgetModule_h_
#define _CEGUIWidgetModule_h_

#include "CEGUIExceptions.h"
#include "CEGUIWindowFactoryManager.h"

#if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
#   ifdef CEGUIWIDGETMODULE_EXPORTS
#       define CEGUIWIDGETMODULE_API __declspec(dllexport)
#   else
#       define CEGUIWIDGETMODULE_API __declspec(dllimport)
#   endif
#else
#   define CEGUIWIDGETMODULE_API 
#endif

#define CEGUI_DECLARE_WIDGET_MODULE( moduleName )\
\
class CEGUI::WindowFactory;\
\
extern "C" CEGUIWIDGETMODULE_API void registerFactory(const CEGUI::String& type_name);\
extern "C" CEGUIWIDGETMODULE_API CEGUI::uint registerAllFactories(void);\
void doSafeFactoryRegistration(CEGUI::WindowFactory* factory);


#define CEGUI_DEFINE_FACTORY( className )\
namespace CEGUI {\
class className ## Factory : public WindowFactory\
{\
public:\
    className ## Factory(void) : WindowFactory(className::WidgetTypeName) { }\
    Window* createWindow(const String& name)\
    { return new className(d_type, name); }\
    void destroyWindow(Window* window)\
    { delete window; }\
};\
}\
static CEGUI::className ## Factory  s_ ## className ## Factory;

#define CEGUI_START_FACTORY_MAP( module )\
struct module ## MapEntry\
{\
    const CEGUI::utf8* d_name;\
    CEGUI::WindowFactory* d_factory;\
};\
\
module ## MapEntry module ## FactoriesMap[] =\
{\

#define CEGUI_END_FACTORY_MAP {0,0}};

#define CEGUI_FACTORY_MAP_ENTRY( class )\
{CEGUI::class::WidgetTypeName, &s_ ## class ## Factory},

#define CEGUI_DEFINE_WIDGET_MODULE( module )\
extern "C" void registerFactory(const CEGUI::String& type_name)\
{\
    module ## MapEntry* entry = module ## FactoriesMap;\
    while (entry->d_name)\
    {\
        if (entry->d_name == type_name)\
        {\
            doSafeFactoryRegistration(entry->d_factory);\
            return;\
        }\
        ++entry;\
    }\
\
    CEGUI_THROW(CEGUI::UnknownObjectException("::registerFactory - The window factory for type '" + type_name + "' is not known in this module."));\
}\
\
extern "C" CEGUI::uint registerAllFactories(void)\
{\
    CEGUI::uint count = 0;\
    module ## MapEntry* entry = module ## FactoriesMap;\
    while (entry->d_name)\
    {\
        doSafeFactoryRegistration(entry->d_factory);\
        ++entry;\
        ++count;\
    }\
    return count;\
}\
\
void doSafeFactoryRegistration(CEGUI::WindowFactory* factory)\
{\
    assert(factory != 0);\
\
    CEGUI::WindowFactoryManager& wfm = CEGUI::WindowFactoryManager::getSingleton();\
    if (wfm.isFactoryPresent(factory->getTypeName()))\
    {\
        CEGUI::Logger::getSingleton().logEvent(\
            "Widget factory '" + factory->getTypeName() + "' appears to be already registered, skipping.",\
            CEGUI::Informative);\
    }\
    else\
    {\
        wfm.addFactory(factory);\
    }\
}

#endif  // end of guard _CEGUIWidgetModule_h_