Manage Scanner by std::shared_ptr