InitiateConnectionCommandFactory.cc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* <!-- copyright */
  2. /*
  3. * aria2 - a simple utility for downloading files faster
  4. *
  5. * Copyright (C) 2006 Tatsuhiro Tsujikawa
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. */
  21. /* copyright --> */
  22. #include "InitiateConnectionCommandFactory.h"
  23. #include "HttpInitiateConnectionCommand.h"
  24. #include "FtpInitiateConnectionCommand.h"
  25. Command* InitiateConnectionCommandFactory::createInitiateConnectionCommand(int cuid, Request* req, DownloadEngine* e) {
  26. if(req->getProtocol() == "http"
  27. #ifdef ENABLE_SSL
  28. // for SSL
  29. || req->getProtocol() == "https"
  30. #endif // ENABLE_SSL
  31. ) {
  32. return new HttpInitiateConnectionCommand(cuid, req, e);
  33. } else if(req->getProtocol() == "ftp") {
  34. return new FtpInitiateConnectionCommand(cuid, req, e);
  35. } else {
  36. // these protocols are not supported yet
  37. return NULL;
  38. }
  39. }