KiCad PCB EDA Suite
kiway.h File Reference
#include <wx/event.h>
#include <wx/dynlib.h>
#include <import_export.h>
#include <search_stack.h>
#include <project.h>
#include <frame_type.h>
#include <mail_type.h>
#include <ki_exception.h>

Go to the source code of this file.

Classes

struct  KIFACE
 Class KIFACE is used by a participant in the KIWAY alchemy. More...
 
class  KIWAY
 Class KIWAY is a minimalistic software bus for communications between various DLLs/DSOs (DSOs) within the same KiCad process. More...
 

Macros

#define VTBL_ENTRY   virtual
 
#define KIFACE_VERSION   1
 
#define KIFACE_GETTER   KIFACE_1
 
#define KIFACE_INSTANCE_NAME_AND_VERSION   "KIFACE_1"
 
#define KFCTL_STANDALONE   (1<<0)
 Am running as a standalone Top. More...
 
#define KFCTL_CPP_PROJECT_SUITE   (1<<1)
 Am running under C++ project mgr, possibly with others. More...
 
#define KFCTL_PY_PROJECT_SUITE   (1<<2)
 Am running under python project mgr, possibly with others. More...
 

Typedefs

typedef KIFACEKIFACE_GETTER_FUNC(int *aKIFACEversion, int aKIWAYversion, PGM_BASE *aProgram)
 Function Pointer KIFACE_GETTER_FUNC points to the one and only KIFACE export. More...
 

Functions

KIFACEKIFACE_GETTER (int *aKIFACEversion, int aKIWAYversion, PGM_BASE *aProgram)
 No name mangling. Each KIFACE (DSO/DLL) will implement this once. More...
 

Variables

KIWAY Kiway
 

Macro Definition Documentation

#define KFCTL_CPP_PROJECT_SUITE   (1<<1)

Am running under C++ project mgr, possibly with others.

Definition at line 159 of file kiway.h.

Referenced by KIWAY::dso_search_path(), KIWAY::SetLanguage(), and KIWAY::ShowChangedIcons().

#define KFCTL_PY_PROJECT_SUITE   (1<<2)

Am running under python project mgr, possibly with others.

Definition at line 160 of file kiway.h.

#define KFCTL_STANDALONE   (1<<0)

Am running as a standalone Top.

Definition at line 158 of file kiway.h.

Referenced by KIWAY::dso_search_path(), and KIFACE_I::IsSingle().

#define KIFACE_GETTER   KIFACE_1

Definition at line 112 of file kiway.h.

#define KIFACE_INSTANCE_NAME_AND_VERSION   "KIFACE_1"

Definition at line 116 of file kiway.h.

Referenced by KIWAY::KiFACE().

#define KIFACE_VERSION   1

Definition at line 111 of file kiway.h.

Referenced by KIWAY::KiFACE(), and PGM_SINGLE_TOP::OnPgmInit().

#define VTBL_ENTRY   virtual

Definition at line 109 of file kiway.h.

Typedef Documentation

typedef KIFACE* KIFACE_GETTER_FUNC(int *aKIFACEversion, int aKIWAYversion, PGM_BASE *aProgram)

Function Pointer KIFACE_GETTER_FUNC points to the one and only KIFACE export.

The export's address is looked up via symbolic string and should be extern "C" to avoid name mangling. This function will only be called one time. The DSO itself however may be asked to support multiple Top windows, i.e. multiple projects within its lifetime.

Parameters
aKIFACEversionis where to put the API version implemented by the KIFACE.
aKIWAYversiontells the KIFACE what KIWAY version will be available.
aProgramis a pointer to the PGM_BASE for this process.
Returns
KIFACE* - unconditionally, cannot fail.

Definition at line 450 of file kiway.h.

Function Documentation

KIFACE* KIFACE_GETTER ( int *  aKIFACEversion,
int  aKIWAYversion,
PGM_BASE aProgram 
)

No name mangling. Each KIFACE (DSO/DLL) will implement this once.

Referenced by PGM_SINGLE_TOP::OnPgmInit().

Variable Documentation