mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-16 14:15:50 -06:00
102 lines
1.8 KiB
C++
102 lines
1.8 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgScript - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#ifndef PGSREGEXGEN_H_
|
|
#define PGSREGEXGEN_H_
|
|
|
|
#include "pgscript/pgScript.h"
|
|
#include "pgscript/generators/pgsObjectGen.h"
|
|
#include "pgscript/generators/pgsStringGen.h"
|
|
|
|
WX_DECLARE_OBJARRAY(pgsStringGen, pgsVectorStringGen);
|
|
|
|
class pgsRegexGen : public pgsObjectGen
|
|
{
|
|
|
|
private:
|
|
|
|
class pgsRegex
|
|
{
|
|
|
|
private:
|
|
|
|
pgsVectorChar m_characters;
|
|
|
|
long m_first;
|
|
long m_second;
|
|
|
|
public:
|
|
|
|
pgsRegex(const pgsVectorChar &characters, const long &first,
|
|
const long &second);
|
|
|
|
pgsRegex();
|
|
|
|
~pgsRegex();
|
|
|
|
pgsRegex *clone();
|
|
|
|
/* pgsRegex & operator =(const pgsRegex & that); */
|
|
|
|
/* pgsRegex(const pgsRegex & that); */
|
|
|
|
void set_characters(const pgsVectorChar &characters);
|
|
|
|
void add_character(const wxChar &c);
|
|
|
|
void set_first(const long &first);
|
|
|
|
void set_second(const long &second);
|
|
|
|
const pgsVectorChar &get_characters() const;
|
|
|
|
const long &get_first() const;
|
|
|
|
const long &get_second() const;
|
|
|
|
};
|
|
|
|
private:
|
|
|
|
wxString m_regex;
|
|
|
|
bool m_valid;
|
|
|
|
pgsVectorStringGen m_string_gens;
|
|
|
|
public:
|
|
|
|
pgsRegexGen(const wxString ®ex, const long &seed = wxDateTime::GetTimeNow());
|
|
|
|
virtual wxString random();
|
|
|
|
virtual ~pgsRegexGen();
|
|
|
|
virtual pgsRegexGen *clone();
|
|
|
|
/* pgsRegexGen & operator =(const pgsRegexGen & that); */
|
|
|
|
/* pgsRegexGen(const pgsRegexGen & that); */
|
|
|
|
const bool &is_valid() const;
|
|
|
|
const pgsVectorStringGen &string_gens() const;
|
|
|
|
size_t string_gens_size() const;
|
|
|
|
private:
|
|
|
|
static wxString espace_xml_char(const wxChar &c);
|
|
|
|
static wxString char_range(const wxChar &b, const wxChar &c);
|
|
|
|
};
|
|
|
|
#endif /*PGSREGEXGEN_H_*/
|