2017-06-28 14:52:49,007:scan.py:ScanHeader:225:INFO:Scanning ..../src/libedataserver/e-extension.h
2017-06-28 14:52:49,007:scan.py:ScanHeader:300:INFO:Found start of comment: /*

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * e-extension.h

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * This library is free software: you can redistribute it and/or modify it

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * under the terms of the GNU Lesser General Public License as published by

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * the Free Software Foundation.

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * This library is distributed in the hope that it will be useful, but

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * for more details.

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * You should have received a copy of the GNU Lesser General Public License

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  * along with this library. If not, see <http://www.gnu.org/licenses/>.

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,007:scan.py:ScanHeader:234:INFO:Comment:  */

2017-06-28 14:52:49,007:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,007:scan.py:ScanHeader:303:INFO:no decl: #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
2017-06-28 14:52:49,007:scan.py:ScanHeader:303:INFO:no decl: #error "Only <libedataserver/libedataserver.h> should be included directly."
2017-06-28 14:52:49,007:scan.py:ScanHeader:303:INFO:no decl: #endif
2017-06-28 14:52:49,007:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: #ifndef E_EXTENSION_H
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: #define E_EXTENSION_H
2017-06-28 14:52:49,008:scan.py:ScanHeader:363:INFO:skipping Macro: "E_EXTENSION_H"
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: #include <libedataserver/e-extensible.h>
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,008:scan.py:ScanHeader:296:INFO:Found one-line comment: /* Standard GObject macros */

2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: #define E_TYPE_EXTENSION \
2017-06-28 14:52:49,008:scan.py:ScanHeader:361:INFO:Macro: "E_TYPE_EXTENSION"
2017-06-28 14:52:49,008:scan.py:ScanHeader:632:INFO:in decl: skip=0 (e_extension_get_type ())
2017-06-28 14:52:49,008:scan.py:ScanHeader:303:INFO:no decl: #define E_EXTENSION(obj) \
2017-06-28 14:52:49,008:scan.py:ScanHeader:361:INFO:Macro: "E_EXTENSION"
2017-06-28 14:52:49,009:scan.py:ScanHeader:632:INFO:in decl: skip=0 (G_TYPE_CHECK_INSTANCE_CAST \
2017-06-28 14:52:49,009:scan.py:ScanHeader:632:INFO:in decl: skip=0 ((obj), E_TYPE_EXTENSION, EExtension))
2017-06-28 14:52:49,009:scan.py:ScanHeader:303:INFO:no decl: #define E_EXTENSION_CLASS(cls) \
2017-06-28 14:52:49,009:scan.py:ScanHeader:361:INFO:Macro: "E_EXTENSION_CLASS"
2017-06-28 14:52:49,009:scan.py:ScanHeader:632:INFO:in decl: skip=0 (G_TYPE_CHECK_CLASS_CAST \
2017-06-28 14:52:49,009:scan.py:ScanHeader:632:INFO:in decl: skip=0 ((cls), E_TYPE_EXTENSION, EExtensionClass))
2017-06-28 14:52:49,009:scan.py:ScanHeader:303:INFO:no decl: #define E_IS_EXTENSION(obj) \
2017-06-28 14:52:49,009:scan.py:ScanHeader:361:INFO:Macro: "E_IS_EXTENSION"
2017-06-28 14:52:49,010:scan.py:ScanHeader:632:INFO:in decl: skip=0 (G_TYPE_CHECK_INSTANCE_TYPE \
2017-06-28 14:52:49,010:scan.py:ScanHeader:632:INFO:in decl: skip=0 ((obj), E_TYPE_EXTENSION))
2017-06-28 14:52:49,010:scan.py:ScanHeader:303:INFO:no decl: #define E_IS_EXTENSION_CLASS(cls) \
2017-06-28 14:52:49,015:scan.py:ScanHeader:361:INFO:Macro: "E_IS_EXTENSION_CLASS"
2017-06-28 14:52:49,015:scan.py:ScanHeader:632:INFO:in decl: skip=0 (G_TYPE_CHECK_CLASS_TYPE \
2017-06-28 14:52:49,016:scan.py:ScanHeader:632:INFO:in decl: skip=0 ((cls), E_TYPE_EXTENSION))
2017-06-28 14:52:49,016:scan.py:ScanHeader:303:INFO:no decl: #define E_EXTENSION_GET_CLASS(obj) \
2017-06-28 14:52:49,016:scan.py:ScanHeader:361:INFO:Macro: "E_EXTENSION_GET_CLASS"
2017-06-28 14:52:49,016:scan.py:ScanHeader:632:INFO:in decl: skip=0 (G_TYPE_INSTANCE_GET_CLASS \
2017-06-28 14:52:49,016:scan.py:ScanHeader:632:INFO:in decl: skip=0 ((obj), E_TYPE_EXTENSION, EExtensionClass))
2017-06-28 14:52:49,016:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: G_BEGIN_DECLS
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: typedef struct _EExtension EExtension;
2017-06-28 14:52:49,017:scan.py:ScanHeader:433:INFO:STRUCT typedef: "EExtension"
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: typedef struct _EExtensionClass EExtensionClass;
2017-06-28 14:52:49,017:scan.py:ScanHeader:433:INFO:STRUCT typedef: "EExtensionClass"
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: typedef struct _EExtensionPrivate EExtensionPrivate;
2017-06-28 14:52:49,017:scan.py:ScanHeader:433:INFO:STRUCT typedef: "EExtensionPrivate"
2017-06-28 14:52:49,017:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,017:scan.py:ScanHeader:300:INFO:Found start of comment: /**

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  * EExtension:

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  * Contains only private data that should be read and manipulated using the

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  * functions below.

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  *

2017-06-28 14:52:49,017:scan.py:ScanHeader:234:INFO:Comment:  * Since: 3.4

2017-06-28 14:52:49,018:scan.py:ScanHeader:234:INFO:Comment:  **/

2017-06-28 14:52:49,018:scan.py:ScanHeader:303:INFO:no decl: struct _EExtension {
2017-06-28 14:52:49,018:scan.py:ScanHeader:619:INFO:Struct(_): "EExtension"
2017-06-28 14:52:49,018:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,018:scan.py:ScanHeader:632:INFO:in decl: skip=0 /*< private >*/
2017-06-28 14:52:49,018:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,018:scan.py:ScanHeader:632:INFO:in decl: skip=0 GObject parent;
2017-06-28 14:52:49,018:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,018:scan.py:ScanHeader:632:INFO:in decl: skip=0 EExtensionPrivate *priv;
2017-06-28 14:52:49,018:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,018:scan.py:ScanHeader:632:INFO:in decl: skip=0 };
2017-06-28 14:52:49,018:scan.py:ScanHeader:752:INFO:Store struct: "EExtension"
2017-06-28 14:52:49,018:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,018:scan.py:ScanHeader:303:INFO:no decl: struct _EExtensionClass {
2017-06-28 14:52:49,018:scan.py:ScanHeader:619:INFO:Struct(_): "EExtensionClass"
2017-06-28 14:52:49,019:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,019:scan.py:ScanHeader:632:INFO:in decl: skip=0 GObjectClass parent_class;
2017-06-28 14:52:49,019:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,019:scan.py:ScanHeader:632:INFO:in decl: skip=0 
2017-06-28 14:52:49,019:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,019:scan.py:ScanHeader:632:INFO:in decl: skip=0 /* The type to extend. */
2017-06-28 14:52:49,019:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,019:scan.py:ScanHeader:632:INFO:in decl: skip=0 GType extensible_type;
2017-06-28 14:52:49,019:scan.py:ScanHeader:766:INFO:struct/union level : 1
2017-06-28 14:52:49,019:scan.py:ScanHeader:632:INFO:in decl: skip=0 };
2017-06-28 14:52:49,019:scan.py:ScanHeader:749:INFO:Found object: "EExtension"
2017-06-28 14:52:49,019:scan.py:ScanHeader:752:INFO:Store struct: "EExtensionClass"
2017-06-28 14:52:49,019:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,019:scan.py:ScanHeader:303:INFO:no decl: GType		e_extension_get_type		(void) G_GNUC_CONST;
2017-06-28 14:52:49,019:scan.py:ScanHeader:523:INFO:Function (1): "e_extension_get_type", Returns: "GType""		"
2017-06-28 14:52:49,019:scan.py:ScanHeader:685:INFO:scrubbing:[void) G_GNUC_CONST;
]
2017-06-28 14:52:49,019:scan.py:ScanHeader:687:INFO:scrubbed:[void
]
2017-06-28 14:52:49,020:scan.py:ScanHeader:701:INFO:Adding get-type: [GType 		] [e_extension_get_type] [void]	from ..../src/libedataserver/e-extension.h
2017-06-28 14:52:49,020:scan.py:ScanHeader:303:INFO:no decl: EExtensible *	e_extension_get_extensible	(EExtension *extension);
2017-06-28 14:52:49,020:scan.py:ScanHeader:523:INFO:Function (1): "e_extension_get_extensible", Returns: "EExtensible"" *	"
2017-06-28 14:52:49,020:scan.py:ScanHeader:685:INFO:scrubbing:[EExtension *extension);
]
2017-06-28 14:52:49,020:scan.py:ScanHeader:687:INFO:scrubbed:[EExtension *extension
]
2017-06-28 14:52:49,020:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,020:scan.py:ScanHeader:303:INFO:no decl: G_END_DECLS
2017-06-28 14:52:49,020:scan.py:ScanHeader:303:INFO:no decl: 
2017-06-28 14:52:49,020:scan.py:ScanHeader:303:INFO:no decl: #endif /* E_EXTENSION_H */
2017-06-28 14:52:49,020:scan.py:ScanHeader:780:INFO:Scanning ..../src/libedataserver/e-extension.h done
2017-06-28 14:52:49,021:scan.py:ScanHeader:797:INFO:Found gobject type 'E_EXTENSION' from is_class macro
2017-06-28 14:52:49,021:scan.py:ScanHeader:821:INFO:  Hide instance docs for eextension
2017-06-28 14:52:49,021:scan.py:ScanHeader:825:INFO:  Hide class docs for eextension
2017-06-28 14:52:49,021:scan.py:ScanHeader:829:INFO:  Hide iface docs for eextension
2017-06-28 14:52:49,021:scan.py:ScanHeader:833:INFO:  Hide iface docs for eextension
2017-06-28 14:52:49,022:scan.py:ScanHeader:847:INFO:Decl:<TITLE>EExtension</TITLE>
e_extension_get_extensible
---
2017-06-28 14:52:49,022:scan.py:ScanHeader:848:INFO:Std :EExtension
EExtensionClass
EExtensionPrivate
E_EXTENSION
E_EXTENSION_CLASS
E_EXTENSION_GET_CLASS
E_IS_EXTENSION
E_TYPE_EXTENSION
e_extension_get_type
---
.
.
.
2017-06-28 14:52:52,571:mkdb.py:ReadSourceDocumentation:3608:DEBUG:... : e-extension.h
2017-06-28 14:52:52,571:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3583:INFO:No match for: e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3647:INFO:Scanning source file: ..../src/libedataserver/e-extension.h
2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3667:INFO:Found comment block start
2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :EExtension:

2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3849:INFO:SYMBOL DOCS found in source for : 'EExtension'
2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :Contains only private data that should be read and manipulated using the

2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :functions below.

2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3833:INFO:scanning :Since: 3.4

2017-06-28 14:52:52,572:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: EExtension text: [Contains only private data that should be read and manipulated using the
functions below.

]
2017-06-28 14:52:52,572:mkdb.py:ScanSourceFile:3794:INFO:SYMBOL DOCS found in source for : 'EExtension'
2017-06-28 14:52:52,573:mkdb.py:ScanSourceFile:3804:INFO:Since(EExtension) : [3.4]
2017-06-28 14:52:52,573:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: EExtension text: [3.4]
2017-06-28 14:52:52,573:mkdb.py:ReadSourceDocumentation:3608:DEBUG:... : CMakeLists.txt
.
.
.
2017-06-28 14:52:52,877:mkdb.py:ReadSourceDocumentation:3608:DEBUG:... : e-extension.c
2017-06-28 14:52:52,877:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,877:mkdb.py:IgnorePath:3583:INFO:No match for: e-extension.c
2017-06-28 14:52:52,877:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,877:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:IgnorePath:3585:INFO:No match for: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3647:INFO:Scanning source file: ..../src/libedataserver/e-extension.c
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3667:INFO:Found comment block start
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :SECTION: e-extension

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3842:INFO:SECTION DOCS found in source for : 'SECTION: e-extension'
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :@include: libedataserver/libedataserver.h

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3920:INFO:Found parameter: include
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3925:INFO:Found param for symbol SECTION: e-extension : 'include'= '@include: libedataserver/libedataserver.h
'
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :@short_description: An abstract base class for extensions

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3920:INFO:Found parameter: short_description
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3925:INFO:Found param for symbol SECTION: e-extension : 'short_description'= '@short_description: An abstract base class for extensions
'
2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :#EExtension provides a way to extend the functionality of objects

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :that implement the #EExtensible interface.  #EExtension subclasses

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :can target a particular extensible object type.  New instances of

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :an extensible object type get paired with a new instance of each

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :#EExtension subclass that targets the extensible object type.

2017-06-28 14:52:52,878:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :The first steps of writing a new extension are as follows:

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :1. Subclass #EExtension.

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :2. In the class initialization function, specify the #GType being

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :   extended.  The #GType must implement the #EExtensible interface.

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :3. Register the extension's own #GType.  If the extension is to

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :   be loaded dynamically using #GTypeModule, the type should be

2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3833:INFO:scanning :   registered in the library module's e_module_load() function.

2017-06-28 14:52:52,879:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: SECTION: e-extension text: [#EExtension provides a way to extend the functionality of objects
that implement the #EExtensible interface.  #EExtension subclasses
can target a particular extensible object type.  New instances of
an extensible object type get paired with a new instance of each
#EExtension subclass that targets the extensible object type.

The first steps of writing a new extension are as follows:

1. Subclass #EExtension.

2. In the class initialization function, specify the #GType being
   extended.  The #GType must implement the #EExtensible interface.

3. Register the extension's own #GType.  If the extension is to
   be loaded dynamically using #GTypeModule, the type should be
   registered in the library module's e_module_load() function.
]
2017-06-28 14:52:52,879:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: SECTION: e-extension text: [libedataserver/libedataserver.h
]
2017-06-28 14:52:52,879:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: SECTION: e-extension text: [An abstract base class for extensions
]
2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3712:INFO:SECTION DOCS found in source for : 'e-extension'
2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3714:INFO:   'include'
2017-06-28 14:52:52,879:mkdb.py:ScanSourceFile:3714:INFO:   'short_description'
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3667:INFO:Found comment block start
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :e_extension_get_extensible:

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3849:INFO:SYMBOL DOCS found in source for : 'e_extension_get_extensible'
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :@extension: an #EExtension

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3920:INFO:Found parameter: extension
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3925:INFO:Found param for symbol e_extension_get_extensible : 'extension'= '@extension: an #EExtension
'
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :Returns the object that @extension extends.

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :Returns: (transfer none): the object being extended

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :

2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3833:INFO:scanning :Since: 3.4

2017-06-28 14:52:52,880:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: e_extension_get_extensible text: [Returns the object that @extension extends.

]
2017-06-28 14:52:52,880:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: e_extension_get_extensible text: [an #EExtension
]
2017-06-28 14:52:52,880:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: e_extension_get_extensible text: [ (transfer none): the object being extended

]
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3794:INFO:SYMBOL DOCS found in source for : 'e_extension_get_extensible'
2017-06-28 14:52:52,880:mkdb.py:ScanSourceFile:3804:INFO:Since(e_extension_get_extensible) : [3.4]
2017-06-28 14:52:52,880:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: e_extension_get_extensible text: [3.4]
2017-06-28 14:52:52,880:mkdb.py:ReadSourceDocumentation:3608:DEBUG:... : e-source-registry-watcher.h
.
.
.
2017-06-28 14:52:53,453:mkdb.py:ReadSourceDocumentation:3608:DEBUG:... : e-extension.c.o
.
.
.
2017-06-28 14:52:59,091:common.py:UpdateFileIfChanged:70:DEBUG:Comparing ./xml/e-extensible.xml with ./xml/e-extensible.xml.new...
2017-06-28 14:52:59,091:mkdb.py:OutputDB:423:INFO:section file data: 2576: 

2017-06-28 14:52:59,091:mkdb.py:OutputDB:423:INFO:section file data: 2577: <SECTION>

2017-06-28 14:52:59,091:mkdb.py:OutputDB:423:INFO:section file data: 2578: <FILE>e-extension</FILE>

2017-06-28 14:52:59,091:mkdb.py:OutputDB:423:INFO:section file data: 2579: <TITLE>EExtension</TITLE>

2017-06-28 14:52:59,091:mkdb.py:OutputDB:446:INFO:Section: EExtension
2017-06-28 14:52:59,091:mkdb.py:OutputDB:423:INFO:section file data: 2580: e_extension_get_extensible

2017-06-28 14:52:59,091:mkdb.py:OutputDB:701:INFO:  Symbol: "e_extension_get_extensible" in subsection: ""
2017-06-28 14:52:59,091:mkdb.py:MakeConditionDescription:3012:INFO:condition for 'e_extension_get_extensible' = ' condition="since:3.4"'
2017-06-28 14:52:59,091:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtensible -> <returnvalue>EExtensible</returnvalue>
2017-06-28 14:52:59,091:common.py:ParseFunctionDeclaration:445:DEBUG:decl=[EExtension *extension
]
2017-06-28 14:52:59,091:common.py:ParseFunctionDeclaration:486:DEBUG:"" "EExtension" "*" "extension" ""
2017-06-28 14:52:59,091:common.py:ParseFunctionDeclaration:497:DEBUG:"" "EExtension" "*" "extension" ""
2017-06-28 14:52:59,091:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,091:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=, [Returns the object that @extension extends.]
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 1 lines
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing 'Returns the object that @extension extends.'
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,092:mkdb.py:OutputParamDescriptions:1934:INFO:param_desc(FUNCTION, e_extension_get_extensible) = OrderedDict([('extension', 'an #EExtension\n'), ('Returns', ' (transfer none): the object being extended\n\n')])
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=, [an #EExtension]
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 1 lines
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing 'an #EExtension'
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,092:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,092:mkdb.py:ExpandAnnotation:2610:INFO:annotations for e_extension_get_extensible: 'transfer none'

2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=, [the object being extended. ]
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 1 lines
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing 'the object being extended. '
2017-06-28 14:52:59,092:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,092:mkdb.py:OutputDB:423:INFO:section file data: 2581: <SUBSECTION Standard>

2017-06-28 14:52:59,092:mkdb.py:OutputDB:423:INFO:section file data: 2582: EExtension

2017-06-28 14:52:59,092:mkdb.py:OutputDB:701:INFO:  Symbol: "EExtension" in subsection: "Standard"
2017-06-28 14:52:59,092:mkdb.py:OutputDB:423:INFO:section file data: 2583: EExtensionClass

2017-06-28 14:52:59,092:mkdb.py:OutputDB:701:INFO:  Symbol: "EExtensionClass" in subsection: "Standard"
2017-06-28 14:52:59,092:mkdb.py:OutputDB:423:INFO:section file data: 2584: EExtensionPrivate

2017-06-28 14:52:59,092:mkdb.py:OutputDB:701:INFO:  Symbol: "EExtensionPrivate" in subsection: "Standard"
2017-06-28 14:52:59,092:mkdb.py:OutputDB:423:INFO:section file data: 2585: E_EXTENSION

2017-06-28 14:52:59,092:mkdb.py:OutputDB:701:INFO:  Symbol: "E_EXTENSION" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2586: E_EXTENSION_CLASS

2017-06-28 14:52:59,093:mkdb.py:OutputDB:701:INFO:  Symbol: "E_EXTENSION_CLASS" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2587: E_EXTENSION_GET_CLASS

2017-06-28 14:52:59,093:mkdb.py:OutputDB:701:INFO:  Symbol: "E_EXTENSION_GET_CLASS" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2588: E_IS_EXTENSION

2017-06-28 14:52:59,093:mkdb.py:OutputDB:701:INFO:  Symbol: "E_IS_EXTENSION" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2589: E_TYPE_EXTENSION

2017-06-28 14:52:59,093:mkdb.py:OutputDB:701:INFO:  Symbol: "E_TYPE_EXTENSION" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2590: e_extension_get_type

2017-06-28 14:52:59,093:mkdb.py:OutputDB:701:INFO:  Symbol: "e_extension_get_type" in subsection: "Standard"
2017-06-28 14:52:59,093:mkdb.py:OutputDB:423:INFO:section file data: 2591: </SECTION>

2017-06-28 14:52:59,093:mkdb.py:OutputDB:476:INFO:End of section: EExtension
2017-06-28 14:52:59,093:mkdb.py:OutputDBFile:2073:INFO:Output docbook for file e-extension with title 'EExtension'
2017-06-28 14:52:59,093:mkdb.py:ModifyXMLElements:2813:DEBUG:symbol: EExtension:Short_description text: [An abstract base class for extensions]
2017-06-28 14:52:59,093:mkdb.py:OutputDBFile:2087:INFO:Found short_desc: An abstract base class for extensions
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=, [#EExtension provides a way to extend the functionality of objects
that implement the #EExtensible interface.  #EExtension subclasses
can target a particular extensible object type.  New instances of
an extensible object type get paired with a new instance of each
#EExtension subclass that targets the extensible object type.

The first steps of writing a new extension are as follows:

1. Subclass #EExtension.

2. In the class initialization function, specify the #GType being
   extended.  The #GType must implement the #EExtensible interface.

3. Register the extension's own #GType.  If the extension is to
   be loaded dynamically using #GTypeModule, the type should be
   registered in the library module's e_module_load() function.]
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 16 lines
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing '#EExtension provides a way to extend the functionality of objects'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing 'that implement the #EExtensible interface.  #EExtension subclasses'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:357:INFO:add to paragraph: 'that implement the #EExtensible interface.  #EExtension subclasses'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing 'can target a particular extensible object type.  New instances of'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:357:INFO:add to paragraph: 'can target a particular extensible object type.  New instances of'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing 'an extensible object type get paired with a new instance of each'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:357:INFO:add to paragraph: 'an extensible object type get paired with a new instance of each'
2017-06-28 14:52:59,093:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing '#EExtension subclass that targets the extensible object type.'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:357:INFO:add to paragraph: '#EExtension subclass that targets the extensible object type.'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing ''
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='1', parsing 'The first steps of writing a new extension are as follows:'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:354:INFO:new paragraph due to interrupted
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing ''
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='1', parsing '1. Subclass #EExtension.'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='None', parsing ''
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='1', parsing '2. In the class initialization function, specify the #GType being'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='None', parsing '   extended.  The #GType must implement the #EExtensible interface.'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='None', parsing ''
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='1', parsing '3. Register the extension's own #GType.  If the extension is to'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='None', parsing '   be loaded dynamically using #GTypeModule, the type should be'
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseBlocks:54:INFO:type='li', int='None', parsing '   registered in the library module's e_module_load() function.'
2017-06-28 14:52:59,094:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,094:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtensible -> <type>EExtensible</type>
2017-06-28 14:52:59,094:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,094:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,094:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=li, [Subclass #EExtension.
]
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 2 lines
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing 'Subclass #EExtension.'
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing ''
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,095:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtension -> <type>EExtension</type>
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=li, [In the class initialization function, specify the #GType being
extended.  The #GType must implement the #EExtensible interface.
]
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:52:DEBUG:parsing 3 lines
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:54:INFO:type='', int='None', parsing 'In the class initialization function, specify the #GType being'
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:364:INFO:new paragraph due to different block type
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing 'extended.  The #GType must implement the #EExtensible interface.'
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:357:INFO:add to paragraph: 'extended.  The #GType must implement the #EExtensible interface.'
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:54:INFO:type='paragraph', int='None', parsing ''
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseBlocks:158:INFO:setting "interrupted" due to empty line
2017-06-28 14:52:59,095:mkdb.py:MakeXRef:2900:INFO:Getting type link for GType -> <type>GType</type>
2017-06-28 14:52:59,095:mkdb.py:MakeXRef:2900:INFO:Getting type link for GType -> <type>GType</type>
2017-06-28 14:52:59,095:mkdb.py:MakeXRef:2900:INFO:Getting type link for EExtensible -> <type>EExtensible</type>
2017-06-28 14:52:59,095:md_to_db.py:MarkDownParseLines:697:INFO:md parse: ctx=li, [Register the extension's own #GType.  If the extension is to
.
.
.
cd /my/sources/evolution-data-server/_build/docs/reference/evolution-data-server && /my/custom/prefix/bin/gtkdoc-fixxref --module=evolution-data-server --module-dir=. --extra-dir=.. --html-dir="/my/custom/prefix/share/gtk-doc/html/evolution-data-server"

2017-06-28 14:53:52,219:fixxref.py:Run:69:INFO:Path prefix: /my/custom/prefix
2017-06-28 14:53:52,222:fixxref.py:Run:84:INFO:Scanning GLib directory: /usr/share/gtk-doc/html
2017-06-28 14:53:52,222:fixxref.py:ScanIndices:122:INFO:Scanning index directory: /usr/share/gtk-doc/html, absolute: 1
2017-06-28 14:53:52,222:fixxref.py:ScanIndices:122:INFO:Scanning index directory: /usr/share/gtk-doc/html/libgtop, absolute: 1
2017-06-28 14:53:52,223:fixxref.py:ReadDevhelp:176:INFO:Scanning index file=/usr/share/gtk-doc/html/libgtop/libgtop.devhelp2, absolute=1, dir=/usr/share/gtk-doc/html/libgtop/
2017-06-28 14:53:52,223:fixxref.py:ReadDevhelp:182:DEBUG:Found id: libgtop-white-paper-introduction href: libgtop-white-paper.html#libgtop-white-paper-introduction
.
.
.
2017-06-28 14:53:53,651:fixxref.py:Run:95:INFO:Scanning HTML_DIR directory: /my/custom/prefix/share/gtk-doc/html/evolution-data-server
2017-06-28 14:53:53,651:fixxref.py:ScanIndices:122:INFO:Scanning index directory: /my/custom/prefix/share/gtk-doc/html/evolution-data-server, absolute: 0
2017-06-28 14:53:53,651:fixxref.py:ReadDevhelp:176:INFO:Scanning index file=/my/custom/prefix/share/gtk-doc/html/evolution-data-server/evolution-data-server.devhelp2, absolute=0, dir=../evolution-data-server/
.
.
.
2017-06-28 14:53:53,685:fixxref.py:ReadDevhelp:182:DEBUG:Found id: e-extension-get-extensible href: evolution-data-server-EExtension.html#e-extension-get-extensible
.
.
.
2017-06-28 14:53:53,756:fixxref.py:Run:97:INFO:Scanning MODULE_DIR directory: .
2017-06-28 14:53:53,756:fixxref.py:ScanIndices:122:INFO:Scanning index directory: ., absolute: 0
2017-06-28 14:53:53,756:fixxref.py:ScanIndices:122:INFO:Scanning index directory: ./CMakeFiles, absolute: 0
2017-06-28 14:53:53,756:fixxref.py:ScanIndices:122:INFO:Scanning index directory: ./CMakeFiles/gtkdoc-evolution-data-server.dir, absolute: 0
2017-06-28 14:53:53,757:fixxref.py:ScanIndices:122:INFO:Scanning index directory: ./CMakeFiles/gtkdoc-rebuild-evolution-data-server-sgml.dir, absolute: 0
2017-06-28 14:53:53,757:fixxref.py:ScanIndices:122:INFO:Scanning index directory: ./html, absolute: 0
2017-06-28 14:53:53,757:fixxref.py:ReadDevhelp:176:INFO:Scanning index file=./html/evolution-data-server.devhelp2, absolute=0, dir=../html/
2017-06-28 14:53:53,757:fixxref.py:ReadDevhelp:182:DEBUG:Found id: e-source-new href: evolution-data-server-ESource.html#e-source-new
.
.
.
2017-06-28 14:53:53,791:fixxref.py:ReadDevhelp:182:DEBUG:Found id: e-extension-get-extensible href: evolution-data-server-EExtension.html#e-extension-get-extensible
.
.
.
2017-06-28 14:53:53,902:fixxref.py:ReadDevhelp:182:DEBUG:Found id: e-extension-get-extensible href: evolution-data-server-EExtension.html#e-extension-get-extensible
