/*! @file

    @id $Id$
*/
//       1         2         3         4         5         6         7         8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890

#include <openssl-engine.hxx>

#include <iostream>

class TestEngine: virtual public openssl::Engine {
      
  public:

    virtual const char* id() {
      CRYPTOLOG("log");
      return "TestEngine_ID";
    }
    virtual const char* name() {
      CRYPTOLOG("log");
      return "TestEngine_NAME";
    }
};

int main(int, char**) {
  {
    openssl::RegisterEngine<> testEngine(new TestEngine);
    
    for (ENGINE* e(ENGINE_get_first()); e; e = ENGINE_get_next(e)) {
      std::cout<<"Found Engine: "<<ENGINE_get_id(e)<<std::endl;
    }
  }
  
  ENGINE_cleanup();
  return 0;
}
