KiCad PCB EDA Suite
PCB::IFACE Struct Reference
Inheritance diagram for PCB::IFACE:
KIFACE_I KIFACE

Public Member Functions

 IFACE (const char *aName, KIWAY::FACE_T aType)
 
bool OnKifaceStart (PGM_BASE *aProgram, int aCtlBits) override
 Function OnKifaceStart is called just once shortly after the DSO is loaded. More...
 
void OnKifaceEnd () override
 Function OnKifaceEnd is called just once just before the DSO is to be unloaded. More...
 
wxWindow * CreateWindow (wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override
 Function CreateWindow creates a wxWindow for the current project. More...
 
void * IfaceOrAddress (int aDataId) override
 Function IfaceOrAddress return a pointer to the requested object. More...
 
void SaveFileAs (const wxString &aProjectBasePath, const wxString &aSrcProjectName, const wxString &aNewProjectBasePath, const wxString &aNewProjectName, const wxString &aSrcFilePath, wxString &aErrors) override
 Function SaveFileAs Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating). More...
 
const wxString Name ()
 
wxConfigBase * KifaceSettings () const
 
int StartFlags () const
 Function StartFlags returns whatever was passed as aCtlBits to OnKifaceStart() More...
 
bool IsSingle () const
 Function IsSingle is this KIFACE_I running under single_top? More...
 
const wxString & GetHelpFileName () const
 Function GetHelpFileName returns just the basename portion of the current help file. More...
 
FILE_HISTORYGetFileHistory ()
 
SEARCH_STACKKifaceSearch ()
 Only for DSO specific 'non-library' files. More...
 

Protected Member Functions

bool start_common (int aCtlBits)
 Common things to do for a top program module, during OnKifaceStart(). More...
 
void end_common ()
 Common things to do for a top program module, during OnKifaceEnd();. More...
 

Detailed Description

Definition at line 63 of file pcbnew/pcbnew.cpp.

Constructor & Destructor Documentation

◆ IFACE()

PCB::IFACE::IFACE ( const char *  aName,
KIWAY::FACE_T  aType 
)
inline

Definition at line 67 of file pcbnew/pcbnew.cpp.

67  :
68  KIFACE_I( aName, aType )
69  {}
KIFACE_I(const char *aKifaceName, KIWAY::FACE_T aId)
Constructor.
Definition: kiface_i.h:78

Member Function Documentation

◆ CreateWindow()

wxWindow* PCB::IFACE::CreateWindow ( wxWindow *  aParent,
int  aClassId,
KIWAY aKIWAY,
int  aCtlBits = 0 
)
inlineoverridevirtual

Function CreateWindow creates a wxWindow for the current project.

The caller must cast the return value into the known type.

Parameters
aParentmay be NULL, or is otherwise the parent to connect under. If NULL then caller may want to connect the returned wxWindow into some hierarchy after this function returns.
aClassIdidentifies which wxFrame or wxDialog to retrieve, using a value known to the implementing KIFACE.
aKIWAYtells the window which KIWAY (and PROJECT) it is a participant in.
aCtlBitsconsists of bit flags from the set of KFCTL_* #defines above.
Returns
wxWindow* - and if not NULL, should be cast into the known type using and old school cast. dynamic_cast is problematic since it needs typeinfo probably not contained in the caller's link image.

Implements KIFACE_I.

Definition at line 75 of file pcbnew/pcbnew.cpp.

76  {
77  switch( aClassId )
78  {
79  case FRAME_PCB_EDITOR:
80  {
81  auto frame = new PCB_EDIT_FRAME( aKiway, aParent );
82 
83 #if defined( KICAD_SCRIPTING )
84  // give the scripting helpers access to our frame
85  ScriptingSetPcbEditFrame( frame );
86 #endif
87 
88  if( Kiface().IsSingle() )
89  {
90  // only run this under single_top, not under a project manager.
91  frame->CreateServer( KICAD_PCB_PORT_SERVICE_NUMBER );
92  }
93 
94  return frame;
95  }
96 
98  return new FOOTPRINT_EDIT_FRAME( aKiway, aParent,
100 
103  return new FOOTPRINT_VIEWER_FRAME( aKiway, aParent, FRAME_T( aClassId ) );
104 
106  return new FOOTPRINT_WIZARD_FRAME( aKiway, aParent, FRAME_T( aClassId ) );
107 
109  return dynamic_cast< wxWindow* >( FOOTPRINT_PREVIEW_PANEL::New( aKiway, aParent ) );
110 
112  {
113  DIALOG_CONFIGURE_PATHS dlg( aParent, aKiway->Prj().Get3DFilenameResolver() );
114 
115  if( dlg.ShowModal() == wxID_OK )
116  aKiway->CommonSettingsChanged( true );
117 
118  // Dialog has completed; nothing to return.
119  return nullptr;
120  }
121 
123  InvokePcbLibTableEditor( aKiway, aParent );
124  // Dialog has completed; nothing to return.
125  return nullptr;
126 
127  default:
128  return nullptr;
129  }
130  }
FOOTPRINT_WIZARD_FRAME.
#define KICAD_PCB_PORT_SERVICE_NUMBER
< Pcbnew listens on this port for commands from Eeschema
Definition: eda_dde.h:39
FRAME_T
Enum FRAME_T is the set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
Definition: frame_type.h:34
Component library viewer main window.
void ScriptingSetPcbEditFrame(PCB_EDIT_FRAME *aPcbEditFrame)
not specified: a GAL engine must be set by the client
void InvokePcbLibTableEditor(KIWAY *aKiway, wxWindow *aCaller)
Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing the glob...
bool IsSingle() const
Function IsSingle is this KIFACE_I running under single_top?
Definition: kiface_i.h:115
static FOOTPRINT_PREVIEW_PANEL * New(KIWAY *aKiway, wxWindow *aParent)
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
PCB_EDIT_FRAME is the main frame for Pcbnew.

References KIWAY::CommonSettingsChanged(), DIALOG_CONFIGUREPATHS, DIALOG_PCB_LIBRARY_TABLE, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_PREVIEW, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_VIEWER_MODAL, FRAME_FOOTPRINT_WIZARD, FRAME_PCB_EDITOR, EDA_DRAW_PANEL_GAL::GAL_TYPE_UNKNOWN, InvokePcbLibTableEditor(), KIFACE_I::IsSingle(), KICAD_PCB_PORT_SERVICE_NUMBER, Kiface(), FOOTPRINT_PREVIEW_PANEL::New(), KIWAY::Prj(), and ScriptingSetPcbEditFrame().

◆ end_common()

void KIFACE_I::end_common ( )
protectedinherited

Common things to do for a top program module, during OnKifaceEnd();.

Definition at line 100 of file kiface_i.cpp.

101 {
102  m_bm.End();
103 }
BIN_MOD m_bm
Definition: kiface_i.h:132
void End()
Definition: bin_mod.cpp:64

References BIN_MOD::End(), and KIFACE_I::m_bm.

Referenced by CV::IFACE::OnKifaceEnd(), KIFACE_I::OnKifaceEnd(), PCBCALC::IFACE::OnKifaceEnd(), GERBV::IFACE::OnKifaceEnd(), SCH::IFACE::OnKifaceEnd(), and OnKifaceEnd().

◆ GetFileHistory()

◆ GetHelpFileName()

const wxString& KIFACE_I::GetHelpFileName ( ) const
inlineinherited

Function GetHelpFileName returns just the basename portion of the current help file.

Definition at line 121 of file kiface_i.h.

121 { return m_bm.m_help_file; }
BIN_MOD m_bm
Definition: kiface_i.h:132
wxString m_help_file
Definition: bin_mod.h:61

References KIFACE_I::m_bm, and BIN_MOD::m_help_file.

Referenced by EDA_BASE_FRAME::help_name().

◆ IfaceOrAddress()

void* PCB::IFACE::IfaceOrAddress ( int  aDataId)
inlineoverridevirtual

Function IfaceOrAddress return a pointer to the requested object.

The safest way to use this is to retrieve a pointer to a static instance of an interface, similar to how the KIFACE interface is exported. But if you know what you are doing use it to retrieve anything you want.

Parameters
aDataIdidentifies which object you want the address of.
Returns
void* - and must be cast into the know type.

Implements KIFACE_I.

Definition at line 140 of file pcbnew/pcbnew.cpp.

141  {
142  switch( aDataId )
143  {
144  // Return a pointer to the global instance of the footprint list.
146  return (void*) &GFootprintList;
147 
148  // Return a new FP_LIB_TABLE with the global table installed as a fallback.
150  return (void*) new FP_LIB_TABLE( &GFootprintTable );
151 
152  // Return a pointer to the global instance of the global footprint table.
154  return (void*) &GFootprintTable;
155 
156  default:
157  return nullptr;
158  }
159  }
FP_LIB_TABLE GFootprintTable
The global footprint library table.
Return the global FP_LIB_TABLE.
Definition: kiface_ids.h:53
FOOTPRINT_LIST_IMPL GFootprintList
The global footprint info table.
Return a new FP_LIB_TABLE with the global table installed as a fallback.
Definition: kiface_ids.h:46
Return a pointer to the global instance of FOOTPRINT_LIST from pcbnew.
Definition: kiface_ids.h:39

References GFootprintList, GFootprintTable, KIFACE_FOOTPRINT_LIST, KIFACE_GLOBAL_FOOTPRINT_TABLE, and KIFACE_NEW_FOOTPRINT_TABLE.

◆ IsSingle()

bool KIFACE_I::IsSingle ( ) const
inlineinherited

◆ KifaceSearch()

SEARCH_STACK& KIFACE_I::KifaceSearch ( )
inlineinherited

Only for DSO specific 'non-library' files.

(The library search path is in the PROJECT class.)

Definition at line 127 of file kiface_i.h.

127 { return m_bm.m_search; }
BIN_MOD m_bm
Definition: kiface_i.h:132
SEARCH_STACK m_search
Definition: bin_mod.h:63

References KIFACE_I::m_bm, and BIN_MOD::m_search.

Referenced by CVPCB_MAINFRAME::buildEquivalenceList(), WS_DATA_MODEL::MakeFullFileName(), WS_DATA_MODEL::MakeShortFileName(), and EDA_BASE_FRAME::sys_search().

◆ KifaceSettings()

wxConfigBase* KIFACE_I::KifaceSettings ( ) const
inlineinherited

Definition at line 103 of file kiface_i.h.

103 { return m_bm.m_config.get(); }
BIN_MOD m_bm
Definition: kiface_i.h:132
std::unique_ptr< wxConfigBase > m_config
maybe from $HOME/.${m_name}
Definition: bin_mod.h:59

References KIFACE_I::m_bm, and BIN_MOD::m_config.

Referenced by AUTOPLACER::AUTOPLACER(), EDA_BASE_FRAME::config(), DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENDRILL::DIALOG_GENDRILL(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_PRINT_GERBVIEW::DIALOG_PRINT_GERBVIEW(), DIALOG_PRINT_PCBNEW::DIALOG_PRINT_PCBNEW(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), FOOTPRINT_EDIT_FRAME::Export_Module(), FOOTPRINT_EDIT_FRAME::Import_Module(), DIALOG_PAGES_SETTINGS::initDialog(), DIALOG_GEN_FOOTPRINT_POSITION::initDialog(), DIALOG_ANNOTATE::InitValues(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), EDA_DRAW_FRAME::LoadCanvasTypeSetting(), NETLIST_DIALOG::NETLIST_DIALOG(), FOOTPRINT_PREVIEW_PANEL::New(), LAYERS_MAP_DIALOG::OnGetSetup(), SCH::IFACE::OnKifaceEnd(), SCH::IFACE::OnKifaceStart(), LAYERS_MAP_DIALOG::OnStoreSetup(), SCH_EDIT_FRAME::OpenProjectFiles(), EDA_DRAW_FRAME::saveCanvasTypeSetting(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataFromWindow(), and DIALOG_PAGES_SETTINGS::~DIALOG_PAGES_SETTINGS().

◆ Name()

const wxString KIFACE_I::Name ( )
inlineinherited

Definition at line 101 of file kiface_i.h.

101 { return wxString::FromUTF8( m_bm.m_name ); }
BIN_MOD m_bm
Definition: kiface_i.h:132
const char * m_name
name of this binary module, static C string.
Definition: bin_mod.h:57

References KIFACE_I::m_bm, and BIN_MOD::m_name.

◆ OnKifaceEnd()

void IFACE::OnKifaceEnd ( )
overridevirtual

Function OnKifaceEnd is called just once just before the DSO is to be unloaded.

It is called before static C++ destructors are called. A default implementation is supplied.

Reimplemented from KIFACE_I.

Definition at line 367 of file pcbnew/pcbnew.cpp.

368 {
369 #if defined( KICAD_SCRIPTING_WXPYTHON )
370  // Restore the thread state and tell Python to cleanup after itself.
371  // wxPython will do its own cleanup as part of that process.
372  // This should only be called if python was setup correctly.
373 
374  if( IsWxPythonLoaded() )
376 #endif
377 
378  end_common();
379 }
void pcbnewFinishPythonScripting()
void end_common()
Common things to do for a top program module, during OnKifaceEnd();.
Definition: kiface_i.cpp:100
bool IsWxPythonLoaded()

References KIFACE_I::end_common(), IsWxPythonLoaded(), and pcbnewFinishPythonScripting().

◆ OnKifaceStart()

bool IFACE::OnKifaceStart ( PGM_BASE aProgram,
int  aCtlBits 
)
overridevirtual

Function OnKifaceStart is called just once shortly after the DSO is loaded.

It is the second function called, immediately after the KIFACE_GETTER(). However before either of those, static C++ constructors are called. The DSO implementation should do process level initialization here, not project specific since there will be multiple projects open eventually.

Parameters
aProgramis the process block: PGM_BASE*
aCtlBitsconsists of bit flags from the set of KFCTL_* #defines above.
Returns
bool - true if DSO initialized OK, false if not. When returning false, the loader may optionally decide to terminate the process or not, but will not put out any UI because that is the duty of this function to say why it is returning false. Never return false without having reported to the UI why.

Implements KIFACE_I.

Definition at line 320 of file pcbnew/pcbnew.cpp.

321 {
322  // This is process-level-initialization, not project-level-initialization of the DSO.
323  // Do nothing in here pertinent to a project!
324 
325  start_common( aCtlBits );
326 
327  wxFileName fn = FP_LIB_TABLE::GetGlobalTableFileName();
328 
329  if( !fn.FileExists() )
330  {
332 
333  fpDialog.ShowModal();
334  }
335  else
336  {
337  try
338  {
339  // The global table is not related to a specific project. All projects
340  // will use the same global table. So the KIFACE::OnKifaceStart() contract
341  // of avoiding anything project specific is not violated here.
343  return false;
344  }
345  catch( const IO_ERROR& ioe )
346  {
347  // if we are here, a incorrect global footprint library table was found.
348  // Incorrect global symbol library table is not a fatal error:
349  // the user just has to edit the (partially) loaded table.
350  wxString msg = _(
351  "An error occurred attempting to load the global footprint library table.\n"
352  "Please edit this global footprint library table in Preferences menu."
353  );
354 
355  DisplayErrorMessage( NULL, msg, ioe.What() );
356  }
357  }
358 
359 #if defined( KICAD_SCRIPTING )
360  scriptingSetup();
361 #endif
362 
363  return true;
364 }
FP_LIB_TABLE GFootprintTable
The global footprint library table.
bool start_common(int aCtlBits)
Common things to do for a top program module, during OnKifaceStart().
Definition: kiface_i.cpp:90
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
Definition: confirm.cpp:249
#define NULL
virtual const wxString What() const
A composite of Problem() and Where()
Definition: exceptions.cpp:33
static bool LoadGlobalTable(FP_LIB_TABLE &aTable)
Function LoadGlobalTable loads the global footprint library table into aTable.
#define _(s)
Definition: 3d_actions.cpp:31
Struct IO_ERROR is a class used to hold an error message and may be used when throwing exceptions con...
Definition: ki_exception.h:76
static wxString GetGlobalTableFileName()
Function GetGlobalTableFileName.

References _, DisplayErrorMessage(), FP_LIB_TABLE::GetGlobalTableFileName(), GFootprintTable, FP_LIB_TABLE::LoadGlobalTable(), NULL, KIFACE_I::start_common(), and IO_ERROR::What().

◆ SaveFileAs()

void IFACE::SaveFileAs ( const wxString &  aProjectBasePath,
const wxString &  aSrcProjectName,
const wxString &  aNewProjectBasePath,
const wxString &  aNewProjectName,
const wxString &  aSrcFilePath,
wxString &  aErrors 
)
override

Function SaveFileAs Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating).

Definition at line 382 of file pcbnew/pcbnew.cpp.

385 {
386  wxFileName destFile( aSrcFilePath );
387  wxString destPath = destFile.GetPath();
388  wxString ext = destFile.GetExt();
389 
390  if( destPath.StartsWith( aProjectBasePath ) )
391  {
392  destPath.Replace( aProjectBasePath, aNewProjectBasePath, false );
393  destFile.SetPath( destPath );
394  }
395 
396  if( ext == "kicad_pcb" || ext == "kicad_pcb-bak" )
397  {
398  if( destFile.GetName() == aSrcProjectName )
399  destFile.SetName( aNewProjectName );
400 
401  CopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
402  }
403  else if( ext == "brd" )
404  {
405  if( destFile.GetName() == aSrcProjectName )
406  destFile.SetName( aNewProjectName );
407 
408  CopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
409  }
410  else if( ext == "mod" || ext == "kicad_mod" )
411  {
412  // Footprints are not project-specific. Keep their source names.
413  CopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
414  }
415  else if( ext == "cmp" )
416  {
417  // JEY TODO
418  }
419  else if( ext == "rpt" )
420  {
421  // DRC must be the "gold standard". Since we can't gaurantee that there aren't
422  // any non-deterministic cases in the save-as algorithm, we don't want to certify
423  // the result with the source's DRC report. Therefore copy it under the old
424  // name.
425  CopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
426  }
427  else if( destFile.GetName() == "fp-lib-table" )
428  {
429  try
430  {
431  FP_LIB_TABLE fpLibTable;
432  fpLibTable.Load( aSrcFilePath );
433 
434  for( unsigned i = 0; i < fpLibTable.GetCount(); i++ )
435  {
436  LIB_TABLE_ROW& row = fpLibTable.At( i );
437  wxString uri = row.GetFullURI();
438 
439  uri.Replace( "/" + aSrcProjectName + ".pretty", "/" + aNewProjectName + ".pretty" );
440 
441  row.SetFullURI( uri );
442  }
443 
444  fpLibTable.Save( destFile.GetFullPath() );
445  }
446  catch( ... )
447  {
448  wxString msg;
449 
450  if( !aErrors.empty() )
451  aErrors += "\n";
452 
453  msg.Printf( _( "Cannot copy file \"%s\"." ), destFile.GetFullPath() );
454  aErrors += msg;
455  }
456  }
457  else
458  {
459  wxFAIL_MSG( "Unexpected filetype for Pcbnew::SaveFileAs()" );
460  }
461 }
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE.
unsigned GetCount() const
Get the number of rows contained in the table.
void CopyFile(const wxString &aSrcPath, const wxString &aDestPath, wxString &aErrors)
Function CopyFile.
Definition: gestfich.cpp:363
const wxString GetFullURI(bool aSubstituted=false) const
Return the full location specifying URI for the LIB, either in original UI form or in environment var...
void Load(const wxString &aFileName)
Load the library table using the path defined by aFileName aFallBackTable.
void SetFullURI(const wxString &aFullURI)
Change the full URI for the library.
LIB_TABLE_ROW & At(unsigned aIndex)
Get the 'n'th LIB_TABLE_ROW object.
#define _(s)
Definition: 3d_actions.cpp:31
void Save(const wxString &aFileName) const
Write this library table to aFileName in s-expression form.

◆ start_common()

bool KIFACE_I::start_common ( int  aCtlBits)
protectedinherited

Common things to do for a top program module, during OnKifaceStart().

Definition at line 90 of file kiface_i.cpp.

91 {
92  m_start_flags = aCtlBits;
93  m_bm.Init();
95 
96  return true;
97 }
KIWAY::FACE_T m_id
Definition: kiface_i.h:130
void Init()
Definition: bin_mod.cpp:39
BIN_MOD m_bm
Definition: kiface_i.h:132
int m_start_flags
flags provided in OnKifaceStart()
Definition: kiface_i.h:134
SEARCH_STACK m_search
Definition: bin_mod.h:63
static void setSearchPaths(SEARCH_STACK *aDst, KIWAY::FACE_T aId)
Initialize aDst SEARCH_STACK with KIFACE (DSO) specific settings.
Definition: kiface_i.cpp:38

References BIN_MOD::Init(), KIFACE_I::m_bm, KIFACE_I::m_id, BIN_MOD::m_search, KIFACE_I::m_start_flags, and setSearchPaths().

Referenced by BMP2CMP::IFACE::OnKifaceStart(), IFACE::OnKifaceStart(), CV::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), and OnKifaceStart().

◆ StartFlags()

int KIFACE_I::StartFlags ( ) const
inlineinherited

Function StartFlags returns whatever was passed as aCtlBits to OnKifaceStart()

Definition at line 109 of file kiface_i.h.

109 { return m_start_flags; }
int m_start_flags
flags provided in OnKifaceStart()
Definition: kiface_i.h:134

References KIFACE_I::m_start_flags.


The documentation for this struct was generated from the following file: