YCPPathSearch Class Reference

#include <pathsearch.h>

Inheritance diagram for YCPPathSearch:

Y2PathSearch

List of all members.

Public Types

enum  Kind { Client, Include, Module, num_Kind }

Static Public Member Functions

static string find (Kind kind, const string &name)
static string findInclude (const string &name)
static string findModule (string name, bool the_source=false)
static void addPath (Kind kind, const string &path)
static void clearPaths (Kind kind)
static void initialize ()
static std::list< string >
::const_iterator 
searchListBegin (Kind kind)
 Perl needs to synchronize its search paths with ours (#39512).
static std::list< string >
::const_iterator 
searchListEnd (Kind kind)
 Perl needs to synchronize its search paths with ours (#39512).
static string bytecodeForFile (string file)

Static Private Member Functions

static void initialize (Kind kind, const char *suffix)

Static Private Attributes

static bool initialized = false
static std::list< string > searchList [num_Kind]


Detailed Description

A straightforward path search. It should eventually replace the complex interplay of Y2PathSearch and Y2ComponentBroker, Y2ComponentCreator.

Member Enumeration Documentation

Enumerator:
Client 
Include 
Module 
num_Kind 


Member Function Documentation

void YCPPathSearch::addPath ( Kind  kind,
const string &  path 
) [static]

prepends a path to the search list

Parameters:
kind,kind of files to find in path
path,string path to directory

References searchList.

Referenced by initialize(), and main().

string YCPPathSearch::bytecodeForFile ( string  file  )  [static]

Search for a YBC file corresponding to the given YCP file. It also checks, if the YBC file is newer than the YCP.

Parameters:
file the YCP file for which YBC file should be found
Returns:
YBC file name or empty string if no YBC file was found

References y2debug.

Referenced by Y2CCWFM::createInLevel().

void YCPPathSearch::clearPaths ( Kind  kind  )  [static]

clears the specified search list

Parameters:
kind,kind fo pathes to clear used for '--nostdmodules' and '--nostdincludes' in ycpc

References searchList.

Referenced by main().

string YCPPathSearch::find ( Kind  kind,
const string &  name 
) [static]

Parameters:
name the shortest should suffice..

References Y2PathSearch::completeFilename(), initialize(), searchList, Y2PathSearch::searchPrefixWarn, y2debug, and y2warning.

Referenced by findInclude(), and findModule().

string YCPPathSearch::findInclude ( const string &  name  )  [static]

Parameters:
name the shortest should suffice..

References find(), and Include.

Referenced by resolveDep().

string YCPPathSearch::findModule ( string  name,
bool  the_source = false 
) [static]

Parameters:
name,name of module to find
the_source,if false and name does not end with ".ybc", it will be appended , if true and name does not end with ".ycp", it will be appended TODO module nesting (:: -> /)

References find(), and Module.

Referenced by Y2CCWFM::provideNamespace(), Xmlcode::readModule(), Bytecode::readModule(), and resolveDep().

void YCPPathSearch::initialize ( Kind  kind,
const char *  suffix 
) [static, private]

void YCPPathSearch::initialize (  )  [static]

Initializes the search paths if not done already. Called automatically in each find.

References Client, Include, initialized, and Module.

Referenced by find(), and main().

std::list< string >::const_iterator YCPPathSearch::searchListBegin ( Kind  kind  )  [static]

Perl needs to synchronize its search paths with ours (#39512).

References searchList.

Referenced by main().

std::list< string >::const_iterator YCPPathSearch::searchListEnd ( Kind  kind  )  [static]

Perl needs to synchronize its search paths with ours (#39512).

References searchList.

Referenced by main().


Member Data Documentation

bool YCPPathSearch::initialized = false [static, private]

Referenced by initialize().

std::list< string > YCPPathSearch::searchList [static, private]


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

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