Commit 5da7c5f7 authored by Laurent Montel's avatar Laurent Montel 😁

port to qCDebug. Autogenerate export headers

parent 8457b66b
......@@ -172,6 +172,7 @@ ki18n_wrap_ui(okularcore_SRCS
kconfig_add_kcfg_files(okularcore_SRCS conf/settings_core.kcfgc )
add_library(okularcore SHARED ${okularcore_SRCS})
generate_export_header(okularcore BASE_NAME okularcore)
# Special handling for linking okularcore on OSX/Apple
IF(APPLE)
......@@ -273,6 +274,7 @@ message("KF5: Enable ui/tts.cpp again")
#qt5_add_dbus_interfaces(okularpart_SRCS ${KDE4_DBUS_INTERFACES_DIR}/org.kde.KSpeech.xml)
add_library(okularpart MODULE ${okularpart_SRCS})
generate_export_header(okularpart BASE_NAME okularpart)
target_link_libraries(okularpart okularcore Qt5::Svg KF5::Parts ${MATH_LIB} Phonon::phonon4qt5 KF5::Solid)
......
......@@ -4,7 +4,7 @@ File=okular.kcfg
Inherits=SettingsCore
Mutators=true
Singleton=true
Visibility=OKULAR_PART_EXPORT
IncludeFiles=settings_core.h,okular_part_export.h
Visibility=OKULARPART_EXPORT
IncludeFiles=settings_core.h,okularpart_export.h
SourceIncludeFiles=qdom.h,QStandardPaths
MemberVariables=dpointer
......@@ -3,6 +3,6 @@ NameSpace=Okular
File=okular_core.kcfg
Mutators=true
Singleton=true
Visibility=OKULAR_EXPORT
IncludeFiles=core/okular_export.h
Visibility=OKULARCORE_EXPORT
IncludeFiles=okularcore_export.h
MemberVariables=dpointer
......@@ -11,7 +11,7 @@
#define _OKULAR_ACTION_H_
#include "global.h"
#include "okular_export.h"
#include "okularcore_export.h"
#include <QtCore/QString>
#include <QtCore/QVariant>
......@@ -40,7 +40,7 @@ class DocumentViewport;
* widgets to reimplement the 'actionType' method and return the type of
* the action described by the reimplemented class.
*/
class OKULAR_EXPORT Action
class OKULARCORE_EXPORT Action
{
public:
/**
......@@ -112,7 +112,7 @@ class OKULAR_EXPORT Action
* The Goto action changes the viewport to another page
* or loads an external document.
*/
class OKULAR_EXPORT GotoAction : public Action
class OKULARCORE_EXPORT GotoAction : public Action
{
public:
/**
......@@ -178,7 +178,7 @@ class OKULAR_EXPORT GotoAction : public Action
/**
* The Execute action executes an external application.
*/
class OKULAR_EXPORT ExecuteAction : public Action
class OKULARCORE_EXPORT ExecuteAction : public Action
{
public:
/**
......@@ -223,7 +223,7 @@ class OKULAR_EXPORT ExecuteAction : public Action
* The Browse action browses an url by opening a web browser or
* email client, depedning on the url protocol (e.g. http, mailto, etc.).
*/
class OKULAR_EXPORT BrowseAction : public Action
class OKULARCORE_EXPORT BrowseAction : public Action
{
public:
/**
......@@ -262,7 +262,7 @@ class OKULAR_EXPORT BrowseAction : public Action
* The DocumentAction action contains an action that is performed on
* the current document.
*/
class OKULAR_EXPORT DocumentAction : public Action
class OKULARCORE_EXPORT DocumentAction : public Action
{
public:
/**
......@@ -320,7 +320,7 @@ class OKULAR_EXPORT DocumentAction : public Action
/**
* The Sound action plays a sound on activation.
*/
class OKULAR_EXPORT SoundAction : public Action
class OKULARCORE_EXPORT SoundAction : public Action
{
public:
/**
......@@ -384,7 +384,7 @@ class OKULAR_EXPORT SoundAction : public Action
*
* @since 0.7 (KDE 4.1)
*/
class OKULAR_EXPORT ScriptAction : public Action
class OKULARCORE_EXPORT ScriptAction : public Action
{
public:
/**
......@@ -429,7 +429,7 @@ class OKULAR_EXPORT ScriptAction : public Action
*
* @since 0.15 (KDE 4.9)
*/
class OKULAR_EXPORT MovieAction : public Action
class OKULARCORE_EXPORT MovieAction : public Action
{
public:
/**
......@@ -488,7 +488,7 @@ class OKULAR_EXPORT MovieAction : public Action
*
* @since 0.16 (KDE 4.10)
*/
class OKULAR_EXPORT RenditionAction : public Action
class OKULARCORE_EXPORT RenditionAction : public Action
{
public:
/**
......
......@@ -18,7 +18,7 @@
#include <QtXml/QDomDocument>
#include <QtXml/QDomElement>
#include "okular_export.h"
#include "okularcore_export.h"
#include "area.h"
namespace Okular {
......@@ -49,7 +49,7 @@ class WidgetAnnotationPrivate;
/**
* @short Helper class for (recursive) annotation retrieval/storage.
*/
class OKULAR_EXPORT AnnotationUtils
class OKULARCORE_EXPORT AnnotationUtils
{
public:
/**
......@@ -87,7 +87,7 @@ class OKULAR_EXPORT AnnotationUtils
* An Annotation is an object (text note, highlight, sound, popup window, ..)
* contained by a Page in the document.
*/
class OKULAR_EXPORT Annotation
class OKULARCORE_EXPORT Annotation
{
/// @cond PRIVATE
friend class AnnotationObjectRect;
......@@ -302,7 +302,7 @@ class OKULAR_EXPORT Annotation
* The Style class contains all information about style of the
* annotation.
*/
class OKULAR_EXPORT Style
class OKULARCORE_EXPORT Style
{
public:
/**
......@@ -437,7 +437,7 @@ class OKULAR_EXPORT Annotation
* The Window class contains all information about the popup window
* of the annotation that is used to edit the content and properties.
*/
class OKULAR_EXPORT Window
class OKULARCORE_EXPORT Window
{
public:
/**
......@@ -683,7 +683,7 @@ class OKULAR_EXPORT Annotation
*
* @since 0.15 (KDE 4.9)
*/
class OKULAR_EXPORT AnnotationProxy
class OKULARCORE_EXPORT AnnotationProxy
{
public:
enum Capability
......@@ -728,7 +728,7 @@ class OKULAR_EXPORT AnnotationProxy
virtual void notifyRemoval( Annotation *annotation, int page ) = 0;
};
class OKULAR_EXPORT TextAnnotation : public Annotation
class OKULARCORE_EXPORT TextAnnotation : public Annotation
{
public:
/**
......@@ -853,7 +853,7 @@ class OKULAR_EXPORT TextAnnotation : public Annotation
Q_DISABLE_COPY( TextAnnotation )
};
class OKULAR_EXPORT LineAnnotation : public Annotation
class OKULARCORE_EXPORT LineAnnotation : public Annotation
{
public:
/**
......@@ -1013,7 +1013,7 @@ class OKULAR_EXPORT LineAnnotation : public Annotation
Q_DISABLE_COPY( LineAnnotation )
};
class OKULAR_EXPORT GeomAnnotation : public Annotation
class OKULARCORE_EXPORT GeomAnnotation : public Annotation
{
public:
// common enums
......@@ -1075,7 +1075,7 @@ class OKULAR_EXPORT GeomAnnotation : public Annotation
Q_DISABLE_COPY( GeomAnnotation )
};
class OKULAR_EXPORT HighlightAnnotation : public Annotation
class OKULARCORE_EXPORT HighlightAnnotation : public Annotation
{
public:
/**
......@@ -1119,7 +1119,7 @@ class OKULAR_EXPORT HighlightAnnotation : public Annotation
* The Quad class contains 8 coordinates and style definitions
* which describe a line part of the whole highlight annotation.
*/
class OKULAR_EXPORT Quad
class OKULARCORE_EXPORT Quad
{
public:
/**
......@@ -1218,7 +1218,7 @@ class OKULAR_EXPORT HighlightAnnotation : public Annotation
Q_DISABLE_COPY( HighlightAnnotation )
};
class OKULAR_EXPORT StampAnnotation : public Annotation
class OKULARCORE_EXPORT StampAnnotation : public Annotation
{
public:
/**
......@@ -1262,7 +1262,7 @@ class OKULAR_EXPORT StampAnnotation : public Annotation
Q_DISABLE_COPY( StampAnnotation )
};
class OKULAR_EXPORT InkAnnotation : public Annotation
class OKULARCORE_EXPORT InkAnnotation : public Annotation
{
public:
/**
......@@ -1312,7 +1312,7 @@ class OKULAR_EXPORT InkAnnotation : public Annotation
Q_DISABLE_COPY( InkAnnotation )
};
class OKULAR_EXPORT CaretAnnotation : public Annotation
class OKULARCORE_EXPORT CaretAnnotation : public Annotation
{
public:
/**
......@@ -1365,7 +1365,7 @@ class OKULAR_EXPORT CaretAnnotation : public Annotation
Q_DISABLE_COPY( CaretAnnotation )
};
class OKULAR_EXPORT FileAttachmentAnnotation : public Annotation
class OKULARCORE_EXPORT FileAttachmentAnnotation : public Annotation
{
public:
/**
......@@ -1425,7 +1425,7 @@ class OKULAR_EXPORT FileAttachmentAnnotation : public Annotation
*
* @since 0.7 (KDE 4.1)
*/
class OKULAR_EXPORT SoundAnnotation : public Annotation
class OKULARCORE_EXPORT SoundAnnotation : public Annotation
{
public:
/**
......@@ -1485,7 +1485,7 @@ class OKULAR_EXPORT SoundAnnotation : public Annotation
*
* @since 0.8 (KDE 4.2)
*/
class OKULAR_EXPORT MovieAnnotation : public Annotation
class OKULARCORE_EXPORT MovieAnnotation : public Annotation
{
public:
/**
......@@ -1531,7 +1531,7 @@ class OKULAR_EXPORT MovieAnnotation : public Annotation
*
* @since 0.16 (KDE 4.10)
*/
class OKULAR_EXPORT ScreenAnnotation : public Annotation
class OKULARCORE_EXPORT ScreenAnnotation : public Annotation
{
public:
/**
......@@ -1600,7 +1600,7 @@ class OKULAR_EXPORT ScreenAnnotation : public Annotation
*
* @since 0.16 (KDE 4.10)
*/
class OKULAR_EXPORT WidgetAnnotation : public Annotation
class OKULARCORE_EXPORT WidgetAnnotation : public Annotation
{
public:
/**
......
......@@ -18,7 +18,7 @@
#include <math.h>
#include "global.h"
#include "okular_export.h"
#include "okularcore_export.h"
class QPolygonF;
class QRect;
......@@ -44,7 +44,7 @@ class NormalizedShape;
* That allows you to zoom the page by just multiplying the normalized points with the
* zoomed page size.
*/
class OKULAR_EXPORT NormalizedPoint
class OKULARCORE_EXPORT NormalizedPoint
{
public:
/**
......@@ -102,7 +102,7 @@ class OKULAR_EXPORT NormalizedPoint
* NormalizedRect is a helper class which stores the coordinates
* of a normalized rect, which is a rectangle of @see NormalizedPoints.
*/
class OKULAR_EXPORT NormalizedRect
class OKULARCORE_EXPORT NormalizedRect
{
public:
/**
......@@ -319,7 +319,7 @@ class OKULAR_EXPORT NormalizedRect
*/
double bottom;
};
KDE_DUMMY_QHASH_FUNCTION(NormalizedRect)
//KDE_DUMMY_QHASH_FUNCTION(NormalizedRect)
/**
* @short NormalizedRect that contains a reference to an object.
......@@ -334,7 +334,7 @@ KDE_DUMMY_QHASH_FUNCTION(NormalizedRect)
* - Image : class Image : description of an image (n/a)
* - Annotation: class Annotation: description of an annotation
*/
class OKULAR_EXPORT ObjectRect
class OKULARCORE_EXPORT ObjectRect
{
public:
/**
......@@ -428,7 +428,7 @@ class OKULAR_EXPORT ObjectRect
/**
* This class describes the object rectangle for an annotation.
*/
class OKULAR_EXPORT AnnotationObjectRect : public ObjectRect
class OKULARCORE_EXPORT AnnotationObjectRect : public ObjectRect
{
public:
/**
......@@ -471,7 +471,7 @@ class OKULAR_EXPORT AnnotationObjectRect : public ObjectRect
/**
* This class describes the object rectangle for a source reference.
*/
class OKULAR_EXPORT SourceRefObjectRect : public ObjectRect
class OKULARCORE_EXPORT SourceRefObjectRect : public ObjectRect
{
friend class ObjectRect;
......@@ -857,7 +857,7 @@ void RegularArea<NormalizedShape, Shape>::transform( const QTransform &matrix )
givePtr( (*this)[i] )->transform( matrix );
}
class OKULAR_EXPORT RegularAreaRect : public RegularArea< NormalizedRect, QRect >
class OKULARCORE_EXPORT RegularAreaRect : public RegularArea< NormalizedRect, QRect >
{
public:
RegularAreaRect();
......@@ -901,12 +901,12 @@ class HighlightAreaRect : public RegularAreaRect
/**
* Debug operator for normalized @p point.
*/
OKULAR_EXPORT QDebug operator<<( QDebug str, const Okular::NormalizedPoint &point );
OKULARCORE_EXPORT QDebug operator<<( QDebug str, const Okular::NormalizedPoint &point );
/**
* Debug operator for normalized @p rect.
*/
OKULAR_EXPORT QDebug operator<<( QDebug str, const Okular::NormalizedRect &rect );
OKULARCORE_EXPORT QDebug operator<<( QDebug str, const Okular::NormalizedRect &rect );
#endif
#endif
......@@ -10,7 +10,7 @@
#ifndef _OKULAR_AUDIOPLAYER_H_
#define _OKULAR_AUDIOPLAYER_H_
#include "okular_export.h"
#include "okularcore_export.h"
#include <QtCore/QObject>
......@@ -27,7 +27,7 @@ class SoundAction;
* Singleton utility class to play sounds in documents using the KDE sound
* system.
*/
class OKULAR_EXPORT AudioPlayer : public QObject
class OKULARCORE_EXPORT AudioPlayer : public QObject
{
Q_OBJECT
......
......@@ -12,7 +12,7 @@
#include <kbookmark.h>
#include "okular_export.h"
#include "okularcore_export.h"
#include <kurl.h>
class QAction;
......@@ -29,7 +29,7 @@ class DocumentViewport;
* This class is responsible for loading and saving the bookmarks using the
* proper format, and for working with them (eg querying, adding, removing).
*/
class OKULAR_EXPORT BookmarkManager : public QObject
class OKULARCORE_EXPORT BookmarkManager : public QObject
{
Q_OBJECT
......
......@@ -11,7 +11,7 @@
#ifndef _OKULAR_DOCUMENT_H_
#define _OKULAR_DOCUMENT_H_
#include "okular_export.h"
#include "okularcore_export.h"
#include "area.h"
#include "global.h"
#include "pagesize.h"
......@@ -67,7 +67,7 @@ class VisiblePageRect;
* The DocumentInfo structure can be filled in by generators to display
* metadata about the currently opened file.
*/
class OKULAR_EXPORT DocumentInfo
class OKULARCORE_EXPORT DocumentInfo
{
friend class Document;
......@@ -185,7 +185,7 @@ class OKULAR_EXPORT DocumentInfo
* For a better understanding of hierarchies @see README.internals.png
* @see DocumentObserver, Page
*/
class OKULAR_EXPORT Document : public QObject
class OKULARCORE_EXPORT Document : public QObject
{
Q_OBJECT
......@@ -1122,7 +1122,7 @@ class OKULAR_EXPORT Document : public QObject
* data is broadcasted between observers to synchronize their viewports to get
* the 'I scroll one view and others scroll too' views.
*/
class OKULAR_EXPORT DocumentViewport
class OKULARCORE_EXPORT DocumentViewport
{
public:
/**
......@@ -1204,7 +1204,7 @@ class OKULAR_EXPORT DocumentViewport
* - URL: a URL to be open as destination; if set, no other Destination* or
* ExternalFileName entry is used
*/
class OKULAR_EXPORT DocumentSynopsis : public QDomDocument
class OKULARCORE_EXPORT DocumentSynopsis : public QDomDocument
{
public:
/**
......@@ -1228,7 +1228,7 @@ class OKULAR_EXPORT DocumentSynopsis : public QDomDocument
* about an embedded file, like its name, its description, the date of creation
* and modification, and the real data of the file.
*/
class OKULAR_EXPORT EmbeddedFile
class OKULARCORE_EXPORT EmbeddedFile
{
public:
/**
......@@ -1282,7 +1282,7 @@ class OKULAR_EXPORT EmbeddedFile
/**
* @short An area of a specified page
*/
class OKULAR_EXPORT VisiblePageRect
class OKULARCORE_EXPORT VisiblePageRect
{
public:
/**
......
......@@ -139,7 +139,7 @@ class DocumentPrivate
bool canModifyExternalAnnotations() const;
bool canRemoveExternalAnnotations() const;
void warnLimitedAnnotSupport();
OKULAR_EXPORT static QString docDataFileName(const KUrl &url, qint64 document_size);
OKULARCORE_EXPORT static QString docDataFileName(const KUrl &url, qint64 document_size);
// Methods that implement functionality needed by undo commands
void performAddPageAnnotation( int page, Annotation *annotation );
......
......@@ -18,14 +18,14 @@
#include <QtCore/QString>
#include <QtPrintSupport/QPrinter>
#include "okular_export.h"
#include "okularcore_export.h"
#include "generator.h"
class QSize;
namespace Okular {
class OKULAR_EXPORT FilePrinter
class OKULARCORE_EXPORT FilePrinter
{
public:
......
......@@ -15,7 +15,7 @@
#include <QtCore/QSharedDataPointer>
#include <QtCore/QString>
#include "okular_export.h"
#include "okularcore_export.h"
namespace Okular {
......@@ -24,7 +24,7 @@ class FontInfoPrivate;
/**
* @short A small class that represents the information of a font.
*/
class OKULAR_EXPORT FontInfo
class OKULARCORE_EXPORT FontInfo
{
public:
typedef QList<FontInfo> List;
......
......@@ -10,7 +10,7 @@
#ifndef _OKULAR_FORM_H_
#define _OKULAR_FORM_H_
#include "okular_export.h"
#include "okularcore_export.h"
#include "area.h"
#include <QtCore/QStringList>
......@@ -33,7 +33,7 @@ class FormFieldChoicePrivate;
* This is not meant to be used as a direct base for the form fields in a
* document, but its abstract subclasses are.
*/
class OKULAR_EXPORT FormField
class OKULARCORE_EXPORT FormField
{
/// @cond PRIVATE
friend class Page;
......@@ -115,7 +115,7 @@ class OKULAR_EXPORT FormField
*
* @since 0.7 (KDE 4.1)
*/
class OKULAR_EXPORT FormFieldButton : public FormField
class OKULARCORE_EXPORT FormFieldButton : public FormField
{
public:
/**
......@@ -173,7 +173,7 @@ class OKULAR_EXPORT FormFieldButton : public FormField
* This is the base interface to reimplement to represent a text field, ie a
* field where the user insert text.
*/
class OKULAR_EXPORT FormFieldText : public FormField
class OKULARCORE_EXPORT FormFieldText : public FormField
{
public:
/**
......@@ -255,7 +255,7 @@ class OKULAR_EXPORT FormFieldText : public FormField
* field where the user can select one (of more) element(s) among a set of
* choices.
*/
class OKULAR_EXPORT FormFieldChoice : public FormField
class OKULARCORE_EXPORT FormFieldChoice : public FormField
{
public:
/**
......
......@@ -12,7 +12,7 @@
#ifndef _OKULAR_GENERATOR_H_
#define _OKULAR_GENERATOR_H_
#include "okular_export.h"
#include "okularcore_export.h"
#include "document.h"
#include "fontinfo.h"
#include "global.h"
......@@ -73,7 +73,7 @@ class SourceReference;
* Every Generator can support 0 or more export formats which can be
* queried with @ref Generator::exportFormats().
*/
class OKULAR_EXPORT ExportFormat
class OKULARCORE_EXPORT ExportFormat
{
public:
typedef QList<ExportFormat> List;
......@@ -183,7 +183,7 @@ class OKULAR_EXPORT ExportFormat
*
* @see PrintInterface, ConfigInterface, GuiInterface
*/
class OKULAR_EXPORT Generator : public QObject
class OKULARCORE_EXPORT Generator : public QObject
{
/// @cond PRIVATE
friend class PixmapGenerationThread;
......@@ -564,7 +564,7 @@ class OKULAR_EXPORT Generator : public QObject
/**
* @short Describes a pixmap type request.
*/
class OKULAR_EXPORT PixmapRequest
class OKULARCORE_EXPORT PixmapRequest
{
friend class Document;
friend class DocumentPrivate;
......@@ -686,7 +686,7 @@ Q_DECLARE_METATYPE(Okular::Generator::PrintError)
Q_DECLARE_INTERFACE(Okular::Generator, OkularGeneratorInterface_iid)
#ifndef QT_NO_DEBUG_STREAM
OKULAR_EXPORT QDebug operator<<( QDebug str, const Okular::PixmapRequest &req );
OKULARCORE_EXPORT QDebug operator<<( QDebug str, const Okular::PixmapRequest &req );
#endif
#endif
......
......@@ -10,7 +10,7 @@
#ifndef _OKULAR_MISC_H_
#define _OKULAR_MISC_H_
#include "okular_export.h"
#include "okularcore_export.h"
#include "area.h"
namespace Okular {
......@@ -33,7 +33,7 @@ namespace Okular {
3. Internally it that is related to the start cursor is always at it[0] while it related to end is it[1],
transition between meanings (itB/itE) is done with dir modifier;
*/
class OKULAR_EXPORT TextSelection
class OKULARCORE_EXPORT TextSelection
{
public:
/**
......
......@@ -12,7 +12,7 @@
#define _OKULAR_MOVIE_H_
#include "global.h"
#include "okular_export.h"
#include "okularcore_export.h"
#include <QtCore/QSize>
......@@ -25,7 +25,7 @@ namespace Okular {
*
* @since 0.8 (KDE 4.2)
*/
class OKULAR_EXPORT Movie
class OKULARCORE_EXPORT Movie
{
public:
/**
......
......@@ -13,7 +13,7 @@
#include <QtCore/QVector>
#include "okular_export.h"
#include "okularcore_export.h"
namespace Okular {
......@@ -25,7 +25,7 @@ class Page;
* Inherit this class and call Document->addObserver( yourClass ) to get
* notified of asynchronous events (new pixmap generated, or changed, etc..).
*/
class OKULAR_EXPORT DocumentObserver
class OKULARCORE_EXPORT DocumentObserver
{
public:
DocumentObserver();
......
/***************************************************************************
* Copyright (C) 2006 by Pino Toscano <toscano.pino@tiscali.it> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef OKULAR_EXPORT_H
#define OKULAR_EXPORT_H
/* needed for KDE_EXPORT macros */
#include <kdemacros.h>
#if defined _WIN32 || defined _WIN64
#ifndef OKULAR_EXPORT
# ifdef MAKE_OKULARCORE_LIB
# define OKULAR_EXPORT KDE_EXPORT
# else
# define OKULAR_EXPORT KDE_IMPORT
# endif
#endif
#else /* UNIX*/
/* export statements for unix */
#define OKULAR_EXPORT KDE_EXPORT
#endif
#endif
......@@ -12,7 +12,7 @@
#include <QtCore/QLinkedList>
#include "okular_export.h"
#include "okularcore_export.h"
#include "area.h"
#include "global.h"
#include "textpage.h"
......@@ -46,7 +46,7 @@ class Tile;
*
* Note: The class takes ownership of all objects.
*/
class OKULAR_EXPORT Page
class OKULARCORE_EXPORT Page
{
public:
/**
......
......@@ -14,7 +14,7 @@
#include <QtCore/QSharedDataPointer>
#include <QtCore/QString>
#include "okular_export.h"
#include "okularcore_export.h"
namespace Okular {
......@@ -23,7 +23,7 @@ class PageSizePrivate;
/**
* @short A small class that represents the size of a page.
*/
class OKULAR_EXPORT PageSize
class OKULARCORE_EXPORT PageSize
{
public:
typedef QList<PageSize> List;
......
......@@ -10,7 +10,7 @@
#ifndef _OKULAR_PAGETRANSITION_H_
#define _OKULAR_PAGETRANSITION_H_
#include "okular_export.h"
#include "okularcore_export.h"