yast2-core
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
YLocale Class Reference

#include <YCode.h>

Inheritance diagram for YLocale:
YCode Rep

Classes

struct  eqstr
 

Public Types

typedef unordered_map< const
char *, bool, hash< const char * >
, eqstr
t_uniquedomains
 
- Public Types inherited from YCode
enum  ykind {
  yxError = 0, ycVoid, ycBoolean, ycInteger,
  ycFloat, ycString, ycByteblock, ycPath,
  ycSymbol, ycList, ycMap, ycTerm,
  ycEntry, ycConstant, ycLocale, ycFunction,
  yePropagate, yeUnary, yeBinary, yeTriple,
  yeCompare, yeLocale, yeList, yeMap,
  yeTerm, yeIs, yeBracket, yeBlock,
  yeReturn, yeVariable, yeBuiltin, yeFunction,
  yeReference, yeFunctionPointer, yeExpression, ysTypedef,
  ysVariable, ysFunction, ysAssign, ysBracket,
  ysIf, ysWhile, ysDo, ysRepeat,
  ysExpression, ysReturn, ysBreak, ysContinue,
  ysTextdomain, ysInclude, ysFilename, ysImport,
  ysBlock, ysSwitch, ysStatement, yiBreakpoint
}
 

Public Member Functions

 YLocale (const char *locale, const char *textdomain)
 
 YLocale (bytecodeistream &str)
 
 ~YLocale ()
 
virtual ykind kind () const
 
const char * value () const
 
const char * domain () const
 
string toString () const
 
std::ostream & toStream (std::ostream &str) const
 
std::ostream & toXml (std::ostream &str, int indent) const
 
YCPValue evaluate (bool cse=false)
 
constTypePtr type () const
 
- Public Member Functions inherited from YCode
 YCode ()
 
virtual ~YCode ()
 
std::string commentToXml () const
 
std::ostream & commentToXml (std::ostream &str) const
 
virtual bool isConstant () const
 
bool isError () const
 
virtual bool isStatement () const
 
virtual bool isBlock () const
 
virtual bool isReferenceable () const
 
void setCommentBefore (const char *comment)
 
void setCommentAfter (const char *comment)
 
- Public Member Functions inherited from Rep
 Rep ()
 
 Rep (const Rep &)
 
Repoperator= (const Rep &)
 
virtual ~Rep ()
 
void ref () const
 
void unref () const
 
unsigned refCount () const
 
virtual const char * repName () const
 
virtual std::ostream & dumpOn (std::ostream &str) const
 

Static Public Member Functions

static
t_uniquedomains::const_iterator 
setDomainStatus (const string &domain, bool status)
 
static void ensureBindDomain (const string &domain)
 
static void bindDomainDir (const string &domain, const string &domain_path)
 
static bool findDomain (const string &domain)
 
- Static Public Member Functions inherited from YCode
static string toString (ykind kind)
 
- Static Public Member Functions inherited from Rep
static void ref (const Rep *obj_r)
 
static void unref (const Rep *obj_r)
 

Static Public Attributes

static t_uniquedomains domains
 

Private Member Functions

 REP_BODY (YLocale)
 

Private Attributes

const char * m_locale
 
t_uniquedomains::const_iterator m_domain
 

Additional Inherited Members

- Protected Member Functions inherited from Rep
virtual void ref_to (unsigned) const
 
virtual void unref_to (unsigned) const
 
- Protected Attributes inherited from YCode
const char * comment_before
 
const char * comment_after
 

Member Typedef Documentation

typedef unordered_map<const char*, bool, hash<const char*>, eqstr> YLocale::t_uniquedomains

Constructor & Destructor Documentation

YLocale::YLocale ( const char *  locale,
const char *  textdomain 
)

References domains, and m_domain.

YLocale::YLocale ( bytecodeistream str)
YLocale::~YLocale ( )

References m_locale.

Member Function Documentation

void YLocale::bindDomainDir ( const string &  domain,
const string &  domain_path 
)
static

References setDomainStatus(), and y2debug.

Referenced by ensureBindDomain(), and s_dpgettext().

const char * YLocale::domain ( ) const

References m_domain.

void YLocale::ensureBindDomain ( const string &  domain)
static
YCPValue YLocale::evaluate ( bool  cse = false)
virtual

Execute YCP code to get the resulting YCPValue. Every inherited class of YCode should reimplement this method.

Returns
YCPValue after executing the code
Parameters
cseshould the evaluation be done for parse time evaluation (i.e. constant subexpression elimination)

Reimplemented from YCode.

References m_domain, m_locale, and y2debug.

bool YLocale::findDomain ( const string &  domain)
static

References domains.

Referenced by s_dpgettext().

virtual ykind YLocale::kind ( ) const
inlinevirtual

Kind of this YCode. This method must be reimplemented in the inherited classes.

Returns
the YCode kind

Implements YCode.

References YCode::ycLocale.

YLocale::REP_BODY ( YLocale  )
private
YLocale::t_uniquedomains::const_iterator YLocale::setDomainStatus ( const string &  domain,
bool  status 
)
static

References domains.

Referenced by bindDomainDir().

std::ostream & YLocale::toStream ( std::ostream &  str) const
virtual

Write YCP code to a byte stream (bytecode implementation). Every class inheriting from YCode must reimplement this method.

Parameters
strbyte stream to store into
Returns
byte stream for chaining writing bytecode (str)

Implements YCode.

References m_domain, m_locale, YCode::toStream(), and Bytecode::writeCharp().

string YLocale::toString ( void  ) const
virtual

Return ASCII represtation of this YCP code.

Returns
ASCII string representation

Reimplemented from YCode.

References m_locale.

std::ostream & YLocale::toXml ( std::ostream &  str,
int  indent 
) const
virtual

Write YCP code as XML representation. Every class inheriting from YCode must reimplement this method.

Parameters
strstring stream to store into
indendindentation level for pretty print
Returns
string stream for chaining writing XML (str)

Implements YCode.

References YCode::commentToXml(), m_domain, m_locale, str, and Xmlcode::xmlify().

constTypePtr YLocale::type ( ) const
inlinevirtual

Return type of this YCP code (interesting mostly for function calls).

Returns
type of the value to be returned after calling evaluate

Reimplemented from YCode.

References Type::Locale.

const char * YLocale::value ( ) const

References m_locale.

Member Data Documentation

YLocale::t_uniquedomains YLocale::domains
static
t_uniquedomains::const_iterator YLocale::m_domain
private
const char* YLocale::m_locale
private

The documentation for this class was generated from the following files:

Generated on a sunny day for yast2-core by doxygen 1.8.6