<commit_before>#include "Client.h"
#include "ClientMessages.h"
#include "ClientFactory.h"
#include "ClientAgent.h"
#include "net/NetworkClient.h"
#include "core/global.h"
#include "core/msgtypes.h"
#include "config/constraints.h"
#include "dclass/dc/Class.h"
#include "dclass/dc/Field.h"

using namespace std;
using dclass::Class;
using dclass::Field;
using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;

static ConfigVariable<bool> relocate_owned("relocate", false, ca_client_config);
static ConfigVariable<string> interest_permissions("add_interest", "visible", ca_client_config);
static BooleanValueConstraint relocate_is_boolean(relocate_owned);

//set default to true
static ConfigVariable<bool> send_hash_to_client("send_hash", true, ca_client_config);
static ConfigVariable<bool> send_version_to_client("send_version", true, ca_client_config);

static bool is_permission_level(const string& str)
{
	return (str == "visible" || str == "disabled" || str == "enabled");
}
static ConfigConstraint<string> valid_permission_level(is_permission_level, interest_permissions,
	"Permissions for add_interest must be one of 'visible', 'enabled', 'disabled'.");

enum InterestPermission
{
	INTERESTS_ENABLED,
	INTERESTS_VISIBLE,
	INTERESTS_DISABLED
};

class AstronClient : public Client, public NetworkClient
{
	private:
		ConfigNode m_config;
		bool m_clean_disconnect;
		bool m_relocate_owned;
		bool m_send_hash;
		bool m_send_version;
		InterestPermission m_interests_allowed;

	public:<commit_msg>ca: Another overloaded function fix<commit_after>#include "Client.h"
#include "ClientMessages.h"
#include "ClientFactory.h"
#include "ClientAgent.h"
#include "net/NetworkClient.h"
#include "core/global.h"
#include "core/msgtypes.h"
#include "config/constraints.h"
#include "dclass/dc/Class.h"
#include "dclass/dc/Field.h"

using namespace std;
using dclass::Class;
using dclass::Field;
using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;

static ConfigVariable<bool> relocate_owned("relocate", false, ca_client_config);
static ConfigVariable<string> interest_permissions("add_interest", "visible", ca_client_config);
static BooleanValueConstraint relocate_is_boolean(relocate_owned);

//set default to true
static ConfigVariable<bool> send_hash_to_client("send_hash", true, ca_client_config);
static ConfigVariable<bool> send_version_to_client("send_version", true, ca_client_config);

static bool is_permission_level(const string& str)
{
	return (str == "visible" || str == "disabled" || str == "enabled");
}
static ConfigConstraint<string> valid_permission_level(is_permission_level, interest_permissions,
	"Permissions for add_interest must be one of 'visible', 'enabled', 'disabled'.");

enum InterestPermission
{
	INTERESTS_ENABLED,
	INTERESTS_VISIBLE,
	INTERESTS_DISABLED
};

class AstronClient : public Client, public NetworkClient
{
    using Client::send_disconnect;
    using NetworkClient::send_disconnect;
    
	private:
		ConfigNode m_config;
		bool m_clean_disconnect;
		bool m_relocate_owned;
		bool m_send_hash;
		bool m_send_version;
		InterestPermission m_interests_allowed;

	public:
{'fraction_non_alphanumeric': 0.1125, 'fraction_numerical': 0.0, 'mean_word_length': 7.717877094972067, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '2954573', 'n_tokens_mistral': 1016, 'n_tokens_neox': 995, 'n_words': 227}