+ std::shared_ptr<BIO> conn = openSerial( serialPath );
+ std::shared_ptr<BIO> slip1( BIO_new( toBio<SlipBIO>() ), BIO_free );
+ static_cast<SlipBIO*>( slip1->ptr )->setTarget( std::shared_ptr<OpensslBIO>( new OpensslBIOWrapper( conn ) ), true );
+
+ DefaultRecordHandler* dh = new DefaultRecordHandler( std::shared_ptr<Signer>( new SimpleOpensslSigner( ) ), slip1 );
+
+ logger::note( "Entering mainloop" );
+ while( true ) {
+ try {
+ dh->handle();
+ //} catch( const std::exception &ch ) {
+ //std::cout << "Real exception: " << typeid(ch).name() << ", " << ch.what() << std::endl;
+ } catch( const std::string& ch ) {
+ logger::error( "Exception: ", ch );
+ } catch( char const* ch ) {
+ logger::error( "Exception: ", ch );
+ }
+ }
+
+ return -1;
+
+} catch( std::exception& e ) {
+ logger::fatalf( "Fatal Error: %s!\n", e.what() );
+ return -1;
+} catch( ... ) {
+ logger::fatal( "Fatal Error: Unknown Exception!\n" );
+ return -1;