<commit_before>#ifndef SETTINGS_PROFILE_H
#define SETTINGS_PROFILE_H

#include <string>
#include <vector>
class Settings_Profile{
	public:
		/**
		 * Used to test class functionality
		 * prints input - must be int
		 * @param a var to print
		 */
		void test_function(int a);
		/**
		 * Instantiates an empty settings profile. All vars are set to empty strings or -1
		 */
		Settings_Profile();
		/**
		 * Instantiates a class using a predefined sttings profile
		 * TODO: Implement error handling
		 * @param settings pointer to xml file to load info from
		 */
		Settings_Profile(std::string filename);
		// doesn't follow OOP rules
		//void printableContents(std::string* contents);
		int writeToFile();
		std::string getConfigName();
		std::string getBaseDir();
		std::string getImgName(int a);
		int getImgCount();
		std::string getProcessName();
		float getX(int a);
		float getY(int a);
		int getDResX();
		int getDresY();
		void setConfigName(std::string name);
		void setBaseDir(std::string name);
		void addImgName(std::string name);
		void addX(float x);
		void addY(float y);
		void printInfo();
		void setDefaultRes(int x, int y);
		void setProcessName(std::string);
	private:
		// Store profile data in xml
		std::vector<float> x; //X offset to find button
		std::vector<float> y; // Y offset to find button
		std::vector<std::string> img_names; //name of string - TODO: make a list to have multiple images
		std::string base_dir; // base directory for profile
		std::string config_name; // config name for profile - e.g. lol.xml
		std::string process_name;
		int default_res_x;
		int default_res_y;
};

#endif<commit_msg>added threshold var and modifier<commit_after>#ifndef SETTINGS_PROFILE_H
#define SETTINGS_PROFILE_H

#include <string>
#include <vector>
#include <iostream>
#include <settings_class.h>
#include <fstream>

class Settings_Profile{
	public:
		/**
		 * Instantiates an empty settings profile. All vars are set to empty strings or -1
		 */
		Settings_Profile();
		/**
		 * Instantiates a class using a predefined sttings profile
		 * TODO: Implement error handling
		 * @param settings pointer to xml file to load info from
		 */
		Settings_Profile(std::string filename);
		// doesn't follow OOP rules
		//void printableContents(std::string* contents);
		int writeToFile();
		std::string getConfigName();
		std::string getBaseDir();
		std::string getImgName(int a);
		int getImgCount();
		std::string getProcessName();
		float getX(int a);
		float getY(int a);
		int getDResX();
		int getDresY();
		float Settings_Profile::getThresholdAt(int a);
		void setConfigName(std::string name);
		void setBaseDir(std::string name);
		void addImgName(std::string name);
		void addX(float x);
		void addY(float y);
		void addThreshold(float threshold);
		void printInfo();
		void setDefaultRes(int x, int y);
		void setProcessName(std::string);
	private:
		// Store profile data in xml
		std::vector<float> x; //X offset to find button
		std::vector<float> y; // Y offset to find button
		std::vector<float> threshold;
		std::vector<std::string> img_names; //name of string - TODO: make a list to have multiple images
		std::string base_dir; // base directory for profile
		std::string config_name; // config name for profile - e.g. lol.xml
		std::string process_name;
		int default_res_x;
		int default_res_y;
};

#endif
{'fraction_non_alphanumeric': 0.11310592459605028, 'fraction_numerical': 0.0005984440454817474, 'mean_word_length': 4.174922600619195, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7030336', 'n_tokens_mistral': 1143, 'n_tokens_neox': 1034, 'n_words': 351}