• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

Nepomuk-Core

  • sources
  • kde-4.12
  • kdelibs
  • nepomuk-core
  • rcgen
codegenerator.h
Go to the documentation of this file.
1 /*
2  *
3  * $Id: sourceheader 511311 2006-02-19 14:51:05Z trueg $
4  *
5  * This file is part of the Nepomuk KDE project.
6  * Copyright (C) 2006-2007 Sebastian Trueg <trueg@kde.org>
7  *
8  * This library is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  * See the file "COPYING.LIB" for the exact licensing terms.
13  */
14 
15 #ifndef _NEPOMUK_CODE_GENERATOR_H_
16 #define _NEPOMUK_CODE_GENERATOR_H_
17 
18 #include <QtCore/QString>
19 #include <QtCore/QList>
20 
21 class AbstractCode;
22 class ResourceClass;
23 class QString;
24 class QTextStream;
25 
26 class CodeGenerator
27 {
28 public:
29  enum Mode {
30  SafeMode
31  };
32 
33  CodeGenerator( Mode mode, const QList<ResourceClass*>& classes );
34  ~CodeGenerator();
35 
36  void setVisibility( const QString& v ) { m_visibility = v; }
37 
38  QList<ResourceClass*> classes() const { return m_classes; }
39 
40  QStringList listHeader();
41  QStringList listSources();
42  bool writeSources( const QString& dir );
43 
44 private:
45  bool write( const ResourceClass* resourceClass, const QString& folder ) const;
46  bool writeHeader( const ResourceClass* resourceClass, QTextStream& ) const;
47  bool writeSource( const ResourceClass* resourceClass, QTextStream& ) const;
48  bool writeDummyClasses( const QString &folder ) const;
49 
50  QString visibilityHeader() const;
51  QString visibilityExportMacro() const;
52 
53  ResourceClass* findParentClass( ResourceClass* resourceClass ) const;
54 
55  const Mode m_mode;
56  const AbstractCode* m_code;
57  QString m_nameSpace;
58 
59  QList<ResourceClass*> m_classes;
60  QString m_visibility;
61 };
62 
63 #endif
CodeGenerator::setVisibility
void setVisibility(const QString &v)
Definition: codegenerator.h:36
CodeGenerator::listHeader
QStringList listHeader()
Definition: codegenerator.cpp:386
CodeGenerator::Mode
Mode
Definition: codegenerator.h:29
ResourceClass
Represents a resource.
Definition: resourceclass.h:30
CodeGenerator::writeSources
bool writeSources(const QString &dir)
Definition: codegenerator.cpp:371
AbstractCode
A class that encapsulates the definition generation methods.
Definition: abstractcode.h:29
CodeGenerator::classes
QList< ResourceClass * > classes() const
Definition: codegenerator.h:38
CodeGenerator
Definition: codegenerator.h:26
CodeGenerator::~CodeGenerator
~CodeGenerator()
Definition: codegenerator.cpp:108
CodeGenerator::CodeGenerator
CodeGenerator(Mode mode, const QList< ResourceClass * > &classes)
Definition: codegenerator.cpp:98
CodeGenerator::listSources
QStringList listSources()
Definition: codegenerator.cpp:397
CodeGenerator::SafeMode
Definition: codegenerator.h:30
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:48:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Nepomuk-Core

Skip menu "Nepomuk-Core"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal