18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/**
28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file oparchive_options.h
38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Options for oparchive tool
48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2003 OProfile authors
68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING
78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Will Cohen
98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie
108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */
118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#ifndef OPARCHIVE_OPTIONS_H
138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#define OPARCHIVE_OPTIONS_H
148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "common_option.h"
168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddclass profile_classes;
188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddclass merge_option;
198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddnamespace options {
218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool exclude_dependent;
228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern merge_option merge_by;
238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern std::string outdirectory;
248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool list_files;
258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd}
268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/// All the chosen sample files.
288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddextern profile_classes classes;
298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddextern std::list<std::string> sample_files;
308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/**
328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * handle_options - process command line
338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param spec  profile specification
348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Process the spec, fatally complaining on error.
368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */
378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid handle_options(options::spec const & spec);
388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#endif // OPARCHIVE_OPTIONS_H
40