Commit 47a41f9c authored by Dick Hollenbeck's avatar Dick Hollenbeck

PLUGIN API Doxygen comments

parent 72d4b235
/* /*
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011-2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2011 KiCad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
/* /*
* This program source code file is part of KICAD, a free EDA CAD application. * This program source code file is part of KICAD, a free EDA CAD application.
* *
* Copyright (C) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011-2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors. * Copyright (C) 2011 Kicad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -48,8 +48,9 @@ public: ...@@ -48,8 +48,9 @@ public:
*/ */
enum PCB_FILE_T enum PCB_FILE_T
{ {
LEGACY, //< Legacy Pcbnew file formats prior to s-expression. LEGACY, //< Legacy Pcbnew file formats prior to s-expression.
KICAD, //< S-expression Pcbnew file format. KICAD, //< S-expression Pcbnew file format.
// add your type here. // add your type here.
// EAGLE, // EAGLE,
...@@ -261,7 +262,7 @@ public: ...@@ -261,7 +262,7 @@ public:
/** /**
* Function FootprintLoad * Function FootprintLoad
* loads a MODULE having @a aFootprintName from the @a aLibraryPath containing * loads a footprint having @a aFootprintName from the @a aLibraryPath containing
* a library format that this PLUGIN knows about. * a library format that this PLUGIN knows about.
* *
* @param aLibraryPath is a locator for the "library", usually a directory * @param aLibraryPath is a locator for the "library", usually a directory
...@@ -270,7 +271,7 @@ public: ...@@ -270,7 +271,7 @@ public:
* @param aFootprintName is the name of the footprint to load. * @param aFootprintName is the name of the footprint to load.
* *
* @param aProperties is an associative array that can be used to tell the * @param aProperties is an associative array that can be used to tell the
* saver how to save the file, because it can take any number of * loader implementation to do something special, because it can take any number of
* additional named tuning arguments that the plugin is known to support. * additional named tuning arguments that the plugin is known to support.
* The caller continues to own this object (plugin may not delete it), and * The caller continues to own this object (plugin may not delete it), and
* plugins should expect it to be optionally NULL. * plugins should expect it to be optionally NULL.
...@@ -292,11 +293,11 @@ public: ...@@ -292,11 +293,11 @@ public:
* or file containing several footprints. This is where the footprint is * or file containing several footprints. This is where the footprint is
* to be stored. * to be stored.
* *
* @param aFootprint is what to store in the library. * @param aFootprint is what to store in the library. The caller continues
* The caller continues to own the footprint. * to own the footprint after this call.
* *
* @param aProperties is an associative array that can be used to tell the * @param aProperties is an associative array that can be used to tell the
* saver how to save the file, because it can take any number of * saver how to save the footprint, because it can take any number of
* additional named tuning arguments that the plugin is known to support. * additional named tuning arguments that the plugin is known to support.
* The caller continues to own this object (plugin may not delete it), and * The caller continues to own this object (plugin may not delete it), and
* plugins should expect it to be optionally NULL. * plugins should expect it to be optionally NULL.
...@@ -313,7 +314,7 @@ public: ...@@ -313,7 +314,7 @@ public:
* @param aLibraryPath is a locator for the "library", usually a directory * @param aLibraryPath is a locator for the "library", usually a directory
* or file containing several footprints. * or file containing several footprints.
* *
* @param aFootprintName is the name of a footprint to delete from the specificed library. * @param aFootprintName is the name of a footprint to delete from the specified library.
* *
* @throw IO_ERROR if there is a problem finding the footprint or the library, or deleting it. * @throw IO_ERROR if there is a problem finding the footprint or the library, or deleting it.
*/ */
...@@ -340,19 +341,19 @@ public: ...@@ -340,19 +341,19 @@ public:
/** /**
* Function FootprintLibDelete * Function FootprintLibDelete
* deletes an existing footprint library, or complains if it cannot delete it or if it * deletes an existing footprint library, or complains if it cannot delete it
* does not exist. * or if it does not exist.
* *
* @param aLibraryPath is a locator for the "library", usually a directory * @param aLibraryPath is a locator for the "library", usually a directory
* or file which will contain footprints. * or file which will contain footprints.
* *
* @param aProperties is an associative array that can be used to tell the * @param aProperties is an associative array that can be used to tell the
* library create function anything special, because it can take any number of * library delete implementation function anything special, because it can
* additional named tuning arguments that the plugin is known to support. * take any number of additional named tuning arguments that the plugin is
* The caller continues to own this object (plugin may not delete it), and * known to support. The caller continues to own this object (plugin may
* plugins should expect it to be optionally NULL. * not delete it), and plugins should expect it to be optionally NULL.
* *
* @throw IO_ERROR if there is a problem finding the library, or deleting it. * @throw IO_ERROR if there is a problem finding the library or deleting it.
*/ */
virtual void FootprintLibDelete( const wxString& aLibraryPath, PROPERTIES* aProperties = NULL ); virtual void FootprintLibDelete( const wxString& aLibraryPath, PROPERTIES* aProperties = NULL );
...@@ -409,46 +410,4 @@ public: ...@@ -409,46 +410,4 @@ public:
}; };
}; };
#if 0
//-----<SCHEMATIC STUFF>------------------------------------------------
// Should split into schematic specific PLUGIN base type
class SCHEMATIC;
/**
* Function Load
* loads a file from some special input file format that
* only this implementation knows about.
* @param aFileName is the name of the file to load and may be foreign in nature or native in nature.
* @param aAppendToMe is an existing SCHEMATIC to append to but may be NULL.
*/
virtual SCHEMATIC* Load( const wxString& aFileName, SCHEMATIC* aAppendToMe,
PROPERTIES* aProperties = NULL )
{
// not pure virtual so that plugins only have to implement
// Load() or Save() but not both.
}
/**
* Function Save
* will write aSchematic to a storage file in a format that only this
* implementation knows about.
*
* @param aFileName is the name of a file to save to on disk.
*
* @param aBoard is the SCHEMATIC document (ram data tree) to save or export to disk.
*/
virtual void Save( const wxString* aFileName, SCHEMATIC* aSchematic,
PROPERTIES* aProperties = NULL )
{
// not pure virtual so that plugins only have to implement
// Load() or Save() but not both.
}
//-----</SCHEMATIC STUFF>----------------------------------------------
#endif
#endif // IO_MGR_H_ #endif // IO_MGR_H_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment