14aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//===- SearchDirCmd.h -----------------------------------------------------===//
24aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//
34aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//                     The MCLinker Project
44aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//
54aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy// This file is distributed under the University of Illinois Open Source
64aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy// License. See LICENSE.TXT for details.
74aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//
84aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy//===----------------------------------------------------------------------===//
94aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy#ifndef MCLD_SCRIPT_SEARCHDIRCMD_H_
104aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy#define MCLD_SCRIPT_SEARCHDIRCMD_H_
114aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
124aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy#include "mcld/Script/ScriptCommand.h"
134aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
144aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy#include <string>
154aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
164aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guynamespace mcld {
174aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
184aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guyclass Module;
19d5a85fb63d91a9297e8d9a11016f3b3ed60dfbabRomain Guy
20c46d07a29e94807e768f8b162ce9f77a88ba6f46Romain Guy/** \class SearchDirCmd
219c1e23baf5bfbebd1aebbd6d9a18c225325567ceChet Haase *  \brief This class defines the interfaces to SEARCH_DIR command.
226554943a1dd6854c0f4976900956e556767b49e1Romain Guy */
236554943a1dd6854c0f4976900956e556767b49e1Romain Guy
24113e0824d6bddf4376240681f9cf6a2deded9498John Reckclass SearchDirCmd : public ScriptCommand {
25c3566d06421c8acc0aafb18f7e307e5725ce87e1Chris Craik public:
269c1e23baf5bfbebd1aebbd6d9a18c225325567ceChet Haase  explicit SearchDirCmd(const std::string& pPath);
272af4635e4a9e448a65ff541252f8f94bc6ac48e0Chris Craik  ~SearchDirCmd();
284aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
29113e0824d6bddf4376240681f9cf6a2deded9498John Reck  void dump() const;
3013631f3da855f200a151e7837ed9f6b079622b58Romain Guy
314aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy  void activate(Module& pModule);
324aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
334aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy  static bool classof(const ScriptCommand* pCmd) {
34cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik    return pCmd->getKind() == ScriptCommand::SEARCH_DIR;
35cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik  }
36cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik
37cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik private:
38cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik  std::string m_Path;
39cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik};
40cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik
41cce47eb580d666ead1f6095d1e3b65233592bbaaChris Craik}  // namespace mcld
424aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy
434aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy#endif  // MCLD_SCRIPT_SEARCHDIRCMD_H_
444aa90573bbf86db0d33a3a790c5dbd0d93b95cfeRomain Guy