From fd8f74cf43da297044c01414ed529cc2f7436f9f Mon Sep 17 00:00:00 2001 From: Dick Hollenbeck Date: Sat, 21 Sep 2013 02:30:23 -0500 Subject: [PATCH] Early GITHUB_PLUGIN hopefull-ness --- CMakeLists.txt | 24 +- CMakeModules/PerformFeatureChecks.cmake | 4 +- CMakeModules/download_avhttp.cmake | 59 +++++ CMakeModules/download_boost.cmake | 40 ++-- common/CMakeLists.txt | 14 +- cvpcb/CMakeLists.txt | 5 + pcbnew/CMakeLists.txt | 16 +- pcbnew/github/CMakeLists.txt | 43 +++- pcbnew/github/avhttp-master.zip | Bin 0 -> 157913 bytes pcbnew/github/github_plugin.cpp | 293 ++++++++++++++++++++++++ pcbnew/github/github_plugin.h | 88 +++++++ pcbnew/io_mgr.cpp | 27 +++ pcbnew/io_mgr.h | 9 +- pcbnew/kicad_plugin.h | 13 ++ pcbnew/pcb_parser.h | 7 +- pcbnew/plugin.cpp | 72 ++++++ 16 files changed, 657 insertions(+), 57 deletions(-) create mode 100644 CMakeModules/download_avhttp.cmake create mode 100644 pcbnew/github/avhttp-master.zip create mode 100644 pcbnew/github/github_plugin.cpp create mode 100644 pcbnew/github/github_plugin.h create mode 100644 pcbnew/plugin.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 67b446d867..72269494cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,7 +53,7 @@ option( KICAD_SCRIPTING_WXPYTHON option( USE_FP_LIB_TABLE "Use the new footprint library table implementation. ( default OFF)" ) -#option( BUILD_GITHUB_PLUGIN "Build the GITHUB_PLUGIN for pcbnew." OFF ) +option( BUILD_GITHUB_PLUGIN "Build the GITHUB_PLUGIN for pcbnew." OFF ) #Set version option (stable or testing) @@ -110,18 +110,18 @@ if( CMAKE_COMPILER_IS_GNUCXX ) "Setting GCC version ${GCC_VERSION} build flags \"${KICAD_GCC_RELEASE_BUILD_FLAGS}\"" ) endif() - if( MINGW ) - # According to some sources, under Windows -fPIC option is not needed: - # http://mingw.5.n7.nabble.com/Option-fPIC-not-supported-td18480.html + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" ) + if( MINGW ) # Set default flags for Release build. - set( CMAKE_C_FLAGS_RELEASE "-Wall ${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) - set( CMAKE_CXX_FLAGS_RELEASE "-Wall ${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) + set( CMAKE_C_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) + set( CMAKE_CXX_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s -static-libgcc -static-libstdc++" ) # Set default flags for Debug build. - set( CMAKE_C_FLAGS_DEBUG "-Wall ${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) - set( CMAKE_CXX_FLAGS_DEBUG "-Wall ${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) + set( CMAKE_C_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) + set( CMAKE_CXX_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) set( CMAKE_MODULE_LINKER_FLAGS "-static-libgcc -static-libstdc++") # SWIG macros on Windows else() @@ -136,13 +136,13 @@ if( CMAKE_COMPILER_IS_GNUCXX ) set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" ) # needed by SWIG macros on linux # Set default flags for Release build. - set( CMAKE_C_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -Wall -DNDEBUG" ) - set( CMAKE_CXX_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -Wall -DNDEBUG" ) + set( CMAKE_C_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) + set( CMAKE_CXX_FLAGS_RELEASE "${KICAD_GCC_RELEASE_BUILD_FLAGS} -DNDEBUG" ) set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" ) # Set default flags for Debug build. - set( CMAKE_C_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -Wall -g3 -ggdb3 -DDEBUG" ) - set( CMAKE_CXX_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -Wall -g3 -ggdb3 -DDEBUG" ) + set( CMAKE_C_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) + set( CMAKE_CXX_FLAGS_DEBUG "${KICAD_GCC_DEBUG_BUILD_FLAGS} -g3 -ggdb3 -DDEBUG" ) endif() # quiet GCC 4.8.1 while in boost diff --git a/CMakeModules/PerformFeatureChecks.cmake b/CMakeModules/PerformFeatureChecks.cmake index e1cc304ab6..2749d23ec9 100644 --- a/CMakeModules/PerformFeatureChecks.cmake +++ b/CMakeModules/PerformFeatureChecks.cmake @@ -63,11 +63,11 @@ macro(perform_feature_checks) # included in pyport.h which is where the problem ocurrs without this # fix. check_include_file("stdint.h" HAVE_STDINT_H) - + if( HAVE_STDINT_H ) add_definitions( -DHAVE_STDINT_H ) endif() - + # no place is this used, and "HAVE_STRINGS_H", if present in config.h then # conflicts with /usr/include/python2.6/Python.h. Please rename the macro if # re-introduce this. diff --git a/CMakeModules/download_avhttp.cmake b/CMakeModules/download_avhttp.cmake new file mode 100644 index 0000000000..35c6195c65 --- /dev/null +++ b/CMakeModules/download_avhttp.cmake @@ -0,0 +1,59 @@ +# This program source code file is part of KICAD, a free EDA CAD application. +# +# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck +# Copyright (C) 2013 Kicad Developers, see AUTHORS.txt for contributors. +# +# 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, you may find one here: +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html +# or you may search the http://www.gnu.org website for the version 2 license, +# or you may write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + + +# Download av_http and install into ${PREFIX}, typically in our KiCad source tree. +# Assumes include( ExternalProject ) was done inline previous to this file +# and that set( DOWNLOAD_DIR ... ) was set in a higher context. + +#------------------------------------------------------------------------------------------ + +# soon cmake will have https support, switch to a true download then: +#set( AVHTTP_RELEASE ??? ) +#set( AVHTTP_MD5 ???? ) # re-calc this on every RELEASE change + +#---------------------------------------------------------------------------------------- + + +# Where the library is to be installed. +set( PREFIX ${DOWNLOAD_DIR}/avhttp ) + + +# Install the AVHTTP header only library ${PREFIX} +ExternalProject_Add( avhttp + PREFIX ${PREFIX} + DOWNLOAD_DIR ${DOWNLOAD_DIR} # no true download yet + + # grab it from a local zip file for now, cmake caller's source dir + URL ${CMAKE_CURRENT_SOURCE_DIR}/avhttp-master.zip + DEPENDS boost + + CONFIGURE_COMMAND "" + + BUILD_COMMAND "" + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory + ) + + +set( AVHTTP_INCLUDE_DIR "${PREFIX}/include" CACHE FILEPATH "AVHTTP include directory" ) + diff --git a/CMakeModules/download_boost.cmake b/CMakeModules/download_boost.cmake index 02d2add3e3..68c9cb7cfc 100644 --- a/CMakeModules/download_boost.cmake +++ b/CMakeModules/download_boost.cmake @@ -29,13 +29,8 @@ #--------------------------------------------------------------------- -if( false ) - set( BOOST_RELEASE 1.53.0 ) - set( BOOST_MD5 a00d22605d5dbcfb4c9936a9b35bc4c2 ) # re-calc this on every RELEASE change -else() - set( BOOST_RELEASE 1.54.0 ) - set( BOOST_MD5 15cb8c0803064faef0c4ddf5bc5ca279 ) # re-calc this on every RELEASE change -endif() +set( BOOST_RELEASE 1.54.0 ) +set( BOOST_MD5 15cb8c0803064faef0c4ddf5bc5ca279 ) # re-calc this on every RELEASE change # The boost headers [and static libs if built] go here, at the top of KiCad # source tree in boost_root. @@ -44,14 +39,19 @@ set( BOOST_ROOT "${PROJECT_SOURCE_DIR}/boost_root" ) if( BUILD_GITHUB_PLUGIN ) # Space separated list which indicates the subset of boost libraries to compile. + # Chosen libraries are based on pion-net _client_ (not server) requirements. Client + # requirements are less demanding. set( BOOST_LIBS_BUILT - #filesystem - system - #regex - #program_options - #date_time - #thread + date_time #exception + filesystem + iostreams + locale + program_options + regex + #signals + #system + thread unit_test_framework ) endif() @@ -73,7 +73,7 @@ set( PREFIX ${DOWNLOAD_DIR}/boost_${BOOST_VERS} ) set( headers_src "${PREFIX}/src/boost/boost" ) -# don't look at this: +# don't look at this, not used, not working, not needed at this time. function( set_boost_lib_names libs output ) foreach( lib ${libs} ) set( fullpath_lib, "${BOOST_ROOT}/lib/libboost_${lib}.a" ) @@ -85,13 +85,15 @@ endfunction() if( BUILD_GITHUB_PLUGIN ) + # It will probably be simpler to make this the only path in the future. + # (BTW "test" yields "unit_test_framework" when passed to bootstrap.{sh,bat} ). - message( STATUS "BOOST_LIBS_BUILT:${BOOST_LIBS_BUILT}" ) + #message( STATUS "BOOST_LIBS_BUILT:${BOOST_LIBS_BUILT}" ) string( REPLACE "unit_test_framework" "test" libs_csv "${BOOST_LIBS_BUILT}" ) - message( STATUS "REPLACE libs_csv:${libs_csv}" ) + #message( STATUS "REPLACE libs_csv:${libs_csv}" ) string( REGEX REPLACE "\\;" "," libs_csv "${libs_csv}" ) - message( STATUS "libs_csv:${libs_csv}" ) + #message( STATUS "libs_csv:${libs_csv}" ) if( MINGW ) set( bootstrap "bootstart.bat mingw" ) @@ -120,14 +122,14 @@ if( BUILD_GITHUB_PLUGIN ) variant=release threading=multi toolset=gcc - link=static + #link=static --prefix=${BOOST_ROOT} install INSTALL_COMMAND "" ) - file( GLOB boost_libs "${BOOST_ROOT}/lib/*" ) + file( GLOB boost_libs "${BOOST_ROOT}/lib/*${CMAKE_STATIC_LIBRARY_SUFFIX}" ) #message( STATUS BOOST_ROOT:${BOOST_ROOT} boost_libs:${boost_libs} ) set( Boost_LIBRARIES ${boost_libs} CACHE FILEPATH "Boost libraries directory" ) set( Boost_INCLUDE_DIR "${BOOST_ROOT}/include" CACHE FILEPATH "Boost include directory" ) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 9909a8d54c..bb7d281901 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -172,7 +172,7 @@ make_lexer( ${CMAKE_CURRENT_SOURCE_DIR}/pcb_plot_params_keywords.cpp PCBPLOTPARAMS_T - # Pass header file with dependency on *_lexer.h as extra_arg + # Pass header file with dependencies on *_lexer.h as extra_arg ${PROJECT_SOURCE_DIR}/pcbnew/pcb_plot_params.h ) @@ -204,11 +204,7 @@ make_lexer( TB_READER_T ) -# The dsntest may not build properly using MS Visual Studio. -if(NOT MSVC) - # This one gets made only when testing. - # to build it, first enable #define STAND_ALONE at top of dsnlexer.cpp - add_executable( dsntest EXCLUDE_FROM_ALL dsnlexer.cpp ) - target_link_libraries( dsntest common ${wxWidgets_LIBRARIES} rt ) - -endif( NOT MSVC ) +# This one gets made only when testing. +# to build it, first enable #define STAND_ALONE at top of dsnlexer.cpp +add_executable( dsntest EXCLUDE_FROM_ALL dsnlexer.cpp ) +target_link_libraries( dsntest common ${wxWidgets_LIBRARIES} rt ) diff --git a/cvpcb/CMakeLists.txt b/cvpcb/CMakeLists.txt index 3e4d8e3f47..f3f0bf7822 100644 --- a/cvpcb/CMakeLists.txt +++ b/cvpcb/CMakeLists.txt @@ -104,6 +104,11 @@ target_link_libraries( cvpcb ${GDI_PLUS_LIBRARIES} ) +if( BUILD_GITHUB_PLUGIN ) + target_link_libraries( cvpcb github_plugin ) +endif() + + ### # Add cvpcb as install target ### diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 740b962b9a..2d757b7fec 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -465,7 +465,6 @@ if( BUILD_GITHUB_PLUGIN ) endif() - ### # Create the pcbnew executable ### @@ -501,6 +500,11 @@ target_link_libraries( pcbnew ${PCBNEW_EXTRA_LIBS} ) +if( BUILD_GITHUB_PLUGIN ) + target_link_libraries( pcbnew github_plugin ) +endif() + + ### # Add pcbnew as install target ### @@ -536,12 +540,10 @@ if( KICAD_SCRIPTING_MODULES ) endif() -# The specctra test fails to build properly using MS Visual Studio. -if( NOT MSVC ) - # This one gets made only when testing. - add_executable( specctra_test EXCLUDE_FROM_ALL specctra_test.cpp specctra.cpp ) - target_link_libraries( specctra_test common ${wxWidgets_LIBRARIES} ) -endif() +# This one gets made only when testing. +add_executable( specctra_test EXCLUDE_FROM_ALL specctra_test.cpp specctra.cpp ) +target_link_libraries( specctra_test common ${wxWidgets_LIBRARIES} ) + # This one gets made only when testing. add_executable( layer_widget_test WIN32 EXCLUDE_FROM_ALL diff --git a/pcbnew/github/CMakeLists.txt b/pcbnew/github/CMakeLists.txt index 5407515c91..191c27ca2e 100644 --- a/pcbnew/github/CMakeLists.txt +++ b/pcbnew/github/CMakeLists.txt @@ -22,12 +22,51 @@ +# Download avhttp and install the headers, not actually compiled +################################################# +include( download_avhttp ) -include_directories( . ) +if( MINGW ) + # @todo: take this from python-a-mingw-us' PythonExternalPackages.cmake which does + # openssl compilation on MINGW. About 20 minutes work. + include( download_openssl ) +else() + find_package( OpenSSL REQUIRED ) + #message( STATUS "OPENSSL_FOUND:${OPENSSL_FOUND} OPENSSL_LIBRARIES:${OPENSSL_LIBRARIES}" ) + + # FindOpenSSL.cmake does not set this var into cache, so is not globally visible, + # do it here incase some other link image needs these libraries + set( OPENSSL_LIBRARIES "${OPENSSL_LIBRARIES}" CACHE FILEPATH "OpenSSL link libraries" ) +endif() + + +# These are additions to any inherited from pcbnew dir: +include_directories( . ${OPENSSL_INCLUDE_DIR} ${AVHTTP_INCLUDE_DIR} ) + +# Tell AVHTTP we have SSL. +add_definitions( -DAVHTTP_ENABLE_OPENSSL ) + +# tone down the compiler warnings for avhttp header library: +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare -Wno-reorder -Wno-unused-variable -Wno-unused-function" ) set( GITHUB_PLUGIN_SRCS github_plugin.cpp - PARENT_SCOPE # tell links based in 'directory pcbnew' about it, i.e. "../" ) +add_library( github_plugin + github_plugin.cpp + ) + +# No, you don't get github without boost and openssl +target_link_libraries( github_plugin + ${Boost_LIBRARIES} + ${OPENSSL_LIBRARIES} + ) + +add_dependencies( github_plugin boost ) +add_dependencies( github_plugin avhttp ) + + +#target_link_libraries( github_plugin ${wxWidgets_LIBRARIES} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES}) + diff --git a/pcbnew/github/avhttp-master.zip b/pcbnew/github/avhttp-master.zip new file mode 100644 index 0000000000000000000000000000000000000000..4e68fee6a777a904f502307c0dac4a6b366dd048 GIT binary patch literal 157913 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 literal 0 HcmV?d00001 diff --git a/pcbnew/github/github_plugin.cpp b/pcbnew/github/github_plugin.cpp new file mode 100644 index 0000000000..665948d37d --- /dev/null +++ b/pcbnew/github/github_plugin.cpp @@ -0,0 +1,293 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck + * Copyright (C) 2013 KiCad Developers, see CHANGELOG.TXT for contributors. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +/* + This is a pcbnew PLUGIN which supports some of the PLUGIN::Footprint*() functions + in the PLUGIN interface, and could do so by utilizing the version 3 github.com + API documented here: + + http://developer.github.com + https://help.github.com/articles/creating-an-access-token-for-command-line-use + + but it does not. Rather it simply reads in a zip file of the repo and unzips it + from RAM as needed. Therefore the PLUGIN is read only for accessing + remote pretty libraries. If you want to support writing to the repo, then you + could use the above API. +*/ + + +#include +#include +#include +#include + +//#include +//#include +//#include +//#include +#include + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + + +using namespace std; + + +typedef boost::ptr_map MODULE_MAP; +typedef MODULE_MAP::iterator MODULE_ITER; +typedef MODULE_MAP::const_iterator MODULE_CITER; + + +/** + * Class FPL_CACHE + * assists only within GITHUB_PLUGIN and hold a map of footprint name to wxZipEntry + */ +struct FPL_CACHE : public MODULE_MAP +{ + // MODULE_MAP is a boost::ptr_map template, made into a class hereby. +}; + + +GITHUB_PLUGIN::GITHUB_PLUGIN() : + m_cache( 0 ) +{ +} + + +GITHUB_PLUGIN::~GITHUB_PLUGIN() +{ + delete m_cache; +} + + +const wxString& GITHUB_PLUGIN::PluginName() const +{ + static wxString name( wxT( "Github" ) ); + return name; +} + + +const wxString& GITHUB_PLUGIN::GetFileExtension() const +{ + static wxString empty_ext; + return empty_ext; +} + + +wxArrayString GITHUB_PLUGIN::FootprintEnumerate( + const wxString& aLibraryPath, PROPERTIES* aProperties ) +{ + cacheLib( aLibraryPath ); + + wxArrayString ret; + + for( MODULE_ITER it = m_cache->begin(); it!=m_cache->end(); ++it ) + { + ret.Add( FROM_UTF8( it->first.c_str() ) ); + } + + return ret; +} + + +MODULE* GITHUB_PLUGIN::FootprintLoad( const wxString& aLibraryPath, + const wxString& aFootprintName, PROPERTIES* aProperties ) +{ + cacheLib( aLibraryPath ); + + string fp_name = TO_UTF8( aFootprintName ); + + MODULE_CITER it = m_cache->find( fp_name ); + + if( it != m_cache->end() ) // fp_name is present + { + wxMemoryInputStream mis( &m_zip_image[0], m_zip_image.size() ); + + // This decoder should always be UTF8, since it was saved that way by git. + // That is, since pretty footprints are UTF8, and they were pushed to the + // github repo, they are still UTF8. + wxZipInputStream zis( mis, wxConvUTF8 ); + wxZipEntry* entry = (wxZipEntry*) it->second; // remove "const"-ness + + if( zis.OpenEntry( *entry ) ) + { + INPUTSTREAM_LINE_READER reader( &zis ); + PCB_PARSER parser( &reader ); + + MODULE* ret = (MODULE*) parser.Parse(); + + return ret; + } + } + + return NULL; // this API function returns NULL for "not found", per spec. +} + + +bool GITHUB_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath ) +{ + return false; +} + + +void GITHUB_PLUGIN::cacheLib( const wxString& aLibraryPath ) throw( IO_ERROR ) +{ + if( !m_cache || m_lib_path != aLibraryPath ) + { + delete m_cache; + m_cache = new FPL_CACHE(); + remote_get_zip( aLibraryPath ); + m_lib_path = aLibraryPath; + + wxMemoryInputStream mis( &m_zip_image[0], m_zip_image.size() ); + + // @todo: generalize this name encoding from a PROPERTY (option) later + wxZipInputStream zis( mis, wxConvUTF8 ); + + wxZipEntry* entry; + + while( (entry = zis.GetNextEntry()) != NULL ) + { + wxFileName fn( entry->GetName() ); + + if( fn.GetExt() == wxT( "kicad_mod" ) ) + { + string fp_name = TO_UTF8( fn.GetName() ); + + m_cache->insert( fp_name, entry ); + } + else + delete entry; + } + } +} + + +bool GITHUB_PLUGIN::repoURL_zipURL( const wxString& aRepoURL, string* aZipURL ) +{ + // e.g. "https://github.com/liftoff-sr/pretty_footprints" + D(printf("aRepoURL:%s\n", TO_UTF8( aRepoURL ) );) + + wxURI repo( aRepoURL ); + + if( repo.HasServer() && repo.HasPath() ) + { + // goal: "https://github.com/liftoff-sr/pretty_footprints/archive/master.zip" + wxString zip_url( wxT("https://") ); + + zip_url += repo.GetServer(); + zip_url += repo.GetPath(); + zip_url += wxT('/'); + zip_url += wxT( "archive/master.zip" ); + + *aZipURL = zip_url.utf8_str(); + return true; + } + return false; +} + + +void GITHUB_PLUGIN::remote_get_zip( const wxString& aRepoURL ) throw( IO_ERROR ) +{ + string zip_url; + + if( !repoURL_zipURL( aRepoURL, &zip_url ) ) + { + wxString msg = wxString::Format( _("Unable to parse URL: %s"), GetChars( m_lib_path ) ); + THROW_IO_ERROR( msg ); + } + + boost::asio::io_service io; + avhttp::http_stream h( io ); + avhttp::request_opts options; + + options.insert( "Accept", "application/zip" ); + options.insert( "User-Agent", "http://kicad-pcb.org" ); // THAT WOULD BE ME. + h.request_options( options ); + + try + { + h.open( zip_url ); // only one file, therefore do it synchronously. + ostringstream os; + os << &h; + + // Keep zip file byte image in RAM. That plus the MODULE_MAP will constitute + // the cache. We don't cache the MODULEs per se, we parse those as needed from + // this zip file image. + m_zip_image = os.str(); + + // 4 lines, using SSL, top that. + } + catch( std::exception& e ) + { + THROW_IO_ERROR( e.what() ); + } +} + + +#if 0 && defined(STANDALONE) + +int main( int argc, char** argv ) +{ + INIT_LOGGER( ".", "test.log" ); + + GITHUB_PLUGIN gh; + + try + { + wxArrayString fps = gh.FootprintEnumerate( + wxT( "https://github.com/liftoff-sr/pretty_footprints" ), + NULL + ); + + for( int i=0; i<(int)fps.Count(); ++i ) + { + printf("[%d]:%s\n", i, TO_UTF8( fps[i] ) ); + } + } + catch( IO_ERROR ioe ) + { + printf( "%s\n", TO_UTF8(ioe.errorText) ); + } + + UNINIT_LOGGER(); + + return 0; +} + +#endif + diff --git a/pcbnew/github/github_plugin.h b/pcbnew/github/github_plugin.h new file mode 100644 index 0000000000..7812baced6 --- /dev/null +++ b/pcbnew/github/github_plugin.h @@ -0,0 +1,88 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck + * Copyright (C) 2013 KiCad Developers, see CHANGELOG.TXT for contributors. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef GITHUB_PLUGIN_H_ +#define GITHUB_PLUGIN_H_ + + +struct FPL_CACHE; + + +/** + * Class GITHUB_PLUGIN + * implements a portion of pcbnew PLUGIN to provide read only access to a github + * repo consisting of pretty footprints + * + * @author Dick Hollenbeck + * @date Original date: 10-Sep-2013 + */ +class GITHUB_PLUGIN : public PLUGIN +{ +public: + //--------------------------------------------------------------- + // ("read-only" subset) + + const wxString& PluginName() const; + + const wxString& GetFileExtension() const; + + wxArrayString FootprintEnumerate( const wxString& aLibraryPath, PROPERTIES* aProperties ); + + MODULE* FootprintLoad( const wxString& aLibraryPath, + const wxString& aFootprintName, PROPERTIES* aProperties ); + + bool IsFootprintLibWritable( const wxString& aLibraryPath ); + + //-------------------------------------------------------------- + + GITHUB_PLUGIN(); // constructor, if any, must be zero arg + ~GITHUB_PLUGIN(); + +private: + + void cacheLib( const wxString& aLibraryPath ) throw( IO_ERROR ); + + /** + * Function repoURL_zipURL + * translates a repo URL to a zipfile URL name as commonly seen on github.com + * + * @param aRepoURL points to the base of the repo. + * @param aZipURL is where to put the zip file URL. + * @return bool - true if @a aRepoULR was parseable, else false + */ + static bool repoURL_zipURL( const wxString& aRepoURL, std::string* aZipURL ); + + /** + * Function remote_get_zip + * fetches a zip file image from a github repo synchronously. The byte image + * is received into the m_input_stream. + */ + void remote_get_zip( const wxString& aRepoURL ) throw( IO_ERROR ); + + wxString m_lib_path; ///< from aLibraryPath, something like https://github.com/liftoff-sr/pretty_footprints + std::string m_zip_image; ///< byte image of the zip file in its entirety. + FPL_CACHE* m_cache; +}; + +#endif // GITHUB_PLUGIN_H_ diff --git a/pcbnew/io_mgr.cpp b/pcbnew/io_mgr.cpp index 6872640622..2877a8d899 100644 --- a/pcbnew/io_mgr.cpp +++ b/pcbnew/io_mgr.cpp @@ -30,6 +30,11 @@ #include #include #include + +#if defined(BUILD_GITHUB_PLUGIN) + #include +#endif + #include #define FMT_UNIMPLEMENTED _( "Plugin '%s' does not implement the '%s' function." ) @@ -72,6 +77,12 @@ PLUGIN* IO_MGR::PluginFind( PCB_FILE_T aFileType ) case GEDA_PCB: return new GPCB_PLUGIN(); + + case GITHUB: +#if defined(BUILD_GITHUB_PLUGIN) + return new GITHUB_PLUGIN(); +#endif + ; // GITHUB fall thru to NULL below } return NULL; @@ -113,6 +124,12 @@ const wxString IO_MGR::ShowType( PCB_FILE_T aType ) case GEDA_PCB: return wxString( wxT( "Geda-PCB" ) ); + +#if defined(BUILD_GITHUB_PLUGIN) + case GITHUB: + return wxString( wxT( "Github" ) ); +#endif + } } @@ -138,6 +155,11 @@ IO_MGR::PCB_FILE_T IO_MGR::EnumFromStr( const wxString& aType ) if( aType == wxT( "Geda-PCB" ) ) return GEDA_PCB; +#if defined(BUILD_GITHUB_PLUGIN) + if( aType == wxT( "Github" ) ) + return GITHUB; +#endif + // wxASSERT( blow up here ) return PCB_FILE_T( -1 ); @@ -176,6 +198,11 @@ IO_MGR::PCB_FILE_T IO_MGR::GuessPluginTypeFromLibPath( const wxString& aLibPath { ret = EAGLE; } + +#if defined(BUILD_GITHUB_PLUGIN) + // There is no extension for a remote repo. We're thinking about this. +#endif + else { // Although KICAD PLUGIN uses libpaths with fixed extension of diff --git a/pcbnew/io_mgr.h b/pcbnew/io_mgr.h index 1a5bd082c2..a83f7e8914 100644 --- a/pcbnew/io_mgr.h +++ b/pcbnew/io_mgr.h @@ -48,11 +48,12 @@ public: */ enum PCB_FILE_T { - LEGACY, //< Legacy Pcbnew file formats prior to s-expression. - KICAD, //< S-expression Pcbnew file format. + LEGACY, ///< Legacy Pcbnew file formats prior to s-expression. + KICAD, ///< S-expression Pcbnew file format. EAGLE, PCAD, - GEDA_PCB, //< Geda PCB file formats. + GEDA_PCB, ///< Geda PCB file formats. + GITHUB, ///< Read only http://github.com repo holding pretty footprints // add your type here. @@ -397,7 +398,7 @@ public: API functions which take one. */ - virtual ~PLUGIN() {} + virtual ~PLUGIN() {}; /** * Class RELEASER diff --git a/pcbnew/kicad_plugin.h b/pcbnew/kicad_plugin.h index 3e4fbae982..8de731b4e8 100644 --- a/pcbnew/kicad_plugin.h +++ b/pcbnew/kicad_plugin.h @@ -55,6 +55,19 @@ class PCB_PARSER; /// a BOARD file underneath IO_MGR. #define CTL_FOR_BOARD (CTL_OMIT_INITIAL_COMMENTS) + +class DIMENSION; +class EDGE_MODULE; +class DRAWSEGMENT; +class PCB_TARGET; +class D_PAD; +class TEXTE_MODULE; +class TRACK; +class ZONE_CONTAINER; +class TEXTE_PCB; + + + /** * Class PCB_IO * is a PLUGIN derivation for saving and loading Pcbnew s-expression formatted files. diff --git a/pcbnew/pcb_parser.h b/pcbnew/pcb_parser.h index e679a356f3..233acb1291 100644 --- a/pcbnew/pcb_parser.h +++ b/pcbnew/pcb_parser.h @@ -31,6 +31,8 @@ #include #include +#include // LAYER_NUM +#include // KiROUND using namespace PCB_KEYS_T; @@ -40,15 +42,16 @@ class BOARD_ITEM; class D_PAD; class DIMENSION; class DRAWSEGMENT; +class EDA_TEXT; class EDGE_MODULE; class TEXTE_MODULE; class TEXTE_PCB; +class TRACK; class MODULE; class PCB_TARGET; +class SEGVIA; class S3D_MASTER; class ZONE_CONTAINER; -class FPL_CACHE; - /** diff --git a/pcbnew/plugin.cpp b/pcbnew/plugin.cpp new file mode 100644 index 0000000000..7153247b39 --- /dev/null +++ b/pcbnew/plugin.cpp @@ -0,0 +1,72 @@ + +#include +//#include + + +#define FMT_UNIMPLEMENTED _( "Plugin '%s' does not implement the '%s' function." ) +#define FMT_NOTFOUND _( "Plugin type '%s' is not found." ) + + +BOARD* PLUGIN::Load( const wxString& aFileName, BOARD* aAppendToMe, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData(), __FUNCTION__ ) ); +} + + +void PLUGIN::Save( const wxString& aFileName, BOARD* aBoard, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData(), __FUNCTION__ ) ); +} + + +wxArrayString PLUGIN::FootprintEnumerate( const wxString& aLibraryPath, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +MODULE* PLUGIN::FootprintLoad( const wxString& aLibraryPath, const wxString& aFootprintName, + PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +void PLUGIN::FootprintSave( const wxString& aLibraryPath, const MODULE* aFootprint, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +void PLUGIN::FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +void PLUGIN::FootprintLibCreate( const wxString& aLibraryPath, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +bool PLUGIN::FootprintLibDelete( const wxString& aLibraryPath, PROPERTIES* aProperties ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} + + +bool PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath ) +{ + // not pure virtual so that plugins only have to implement subset of the PLUGIN interface. + THROW_IO_ERROR( wxString::Format( FMT_UNIMPLEMENTED, PluginName().GetData() , __FUNCTION__ ) ); +} +