#include <RepositoryManager_Impl.h>
Collaboration diagram for CIAO_RepositoryManagerDaemon_i:
Public Member Functions | |
CIAO_RepositoryManagerDaemon_i (CORBA::ORB_ptr the_orb, const char *server="localhost:5432", char *install_dir="RepositoryManager") | |
Constructor. | |
virtual | ~CIAO_RepositoryManagerDaemon_i (void) |
Destructor. | |
virtual void | shutdown () throw ( CORBA::SystemException ) |
virtual void | installPackage (const char *installationName, const char *location) throw ( CORBA::SystemException, ::Deployment::NameExists, ::Deployment::PackageError ) |
virtual void | createPackage (const char *installationName, const ::Deployment::PackageConfiguration &package, const char *baseLocation,::CORBA::Boolean replace) throw ( CORBA::SystemException, ::Deployment::NameExists, ::Deployment::PackageError ) |
virtual ::Deployment::PackageConfiguration * | findPackageByName (const char *name) throw ( CORBA::SystemException, ::Deployment::NoSuchName ) |
virtual ::Deployment::PackageConfiguration * | findPackageByUUID (const char *UUID) throw ( CORBA::SystemException, ::Deployment::NoSuchName ) |
virtual ::CORBA::StringSeq * | findNamesByType (const char *type) throw ( CORBA::SystemException ) |
virtual ::CORBA::StringSeq * | getAllNames () throw ( CORBA::SystemException ) |
virtual ::CORBA::StringSeq * | getAllTypes () throw ( CORBA::SystemException ) |
virtual void | deletePackage (const char *installationName) throw ( CORBA::SystemException, ::Deployment::NoSuchName ) |
Protected Member Functions | |
Deployment::PackageConfiguration * | retrieve_PC_from_package (char *package) |
void | find_PC_name (char *package, ACE_CString &pcd_name) |
Find out what the name of the PackageConfiguration file is. | |
Deployment::PackageConfiguration * | retrieve_PC_from_descriptors (const char *pc_name, const char *descriptor_dir) |
int | HTTP_Get (const char *URL, ACE_Message_Block &mb) |
int | extract_descriptor_files (char *package, ACE_CString &pcd_name) |
int | remove_descriptor_files (char *package) |
returns on success on error *int | remove_extracted_package (const char *package_path, const char *extraction_location) |
void | dump (void) |
function to dump the state of the RepositoryManager | |
Private Types | |
typedef ACE_Hash_Map_Manager_Ex< ACE_CString, ACE_CString, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_RW_Mutex > | PCMap |
typedef PCMap::iterator | PCMap_Iterator |
typedef ACE_Hash_Map_Entry< ACE_CString, ACE_CString > | PCEntry |
typedef ACE_Hash_Map_Manager_Ex< ACE_CString, ACE_CString, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_RW_Mutex > | CIMap |
typedef CIMap::iterator | CIMap_Iterator |
typedef ACE_Hash_Map_Entry< ACE_CString, ACE_CString > | CIEntry |
typedef ACE_Hash_Map_Bucket_Iterator< ACE_CString, ACE_CString, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_RW_Mutex > | CIBucket_Iterator |
Private Attributes | |
PCMap | names_ |
PCMap | uuids_ |
CORBA::ORB_var | the_orb_ |
char | cwd_ [TEMP_LEN] |
ACE_CString | install_root_ |
ACE_CString | HTTP_server_ |
ACE_CString | install_path |
typedef ACE_Hash_Map_Bucket_Iterator<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_RW_Mutex> CIAO_RepositoryManagerDaemon_i::CIBucket_Iterator [private] |
typedef ACE_Hash_Map_Entry<ACE_CString,ACE_CString> CIAO_RepositoryManagerDaemon_i::CIEntry [private] |
typedef ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_RW_Mutex> CIAO_RepositoryManagerDaemon_i::CIMap [private] |
Based on the synchronization needed we can parametrize this with either ACE_Null_Mutex or ACE_RW_Mutex
typedef CIMap::iterator CIAO_RepositoryManagerDaemon_i::CIMap_Iterator [private] |
typedef ACE_Hash_Map_Entry<ACE_CString,ACE_CString> CIAO_RepositoryManagerDaemon_i::PCEntry [private] |
typedef ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_RW_Mutex> CIAO_RepositoryManagerDaemon_i::PCMap [private] |
Based on the synchronization needed we can parametrize this with either ACE_Null_Mutex or ACE_RW_Mutex
typedef PCMap::iterator CIAO_RepositoryManagerDaemon_i::PCMap_Iterator [private] |
CIAO_RepositoryManagerDaemon_i::CIAO_RepositoryManagerDaemon_i | ( | CORBA::ORB_ptr | the_orb, | |
const char * | server = "localhost:5432" , |
|||
char * | install_dir = "RepositoryManager" | |||
) |
Constructor.
CIAO_RepositoryManagerDaemon_i::~CIAO_RepositoryManagerDaemon_i | ( | void | ) | [virtual] |
Destructor.
void CIAO_RepositoryManagerDaemon_i::createPackage | ( | const char * | installationName, | |
const ::Deployment::PackageConfiguration & | package, | |||
const char * | baseLocation, | |||
::CORBA::Boolean | replace | |||
) | throw ( CORBA::SystemException, ::Deployment::NameExists, ::Deployment::PackageError ) [virtual] |
void CIAO_RepositoryManagerDaemon_i::deletePackage | ( | const char * | installationName | ) | throw ( CORBA::SystemException, ::Deployment::NoSuchName ) [virtual] |
void CIAO_RepositoryManagerDaemon_i::dump | ( | void | ) | [protected] |
function to dump the state of the RepositoryManager
int CIAO_RepositoryManagerDaemon_i::extract_descriptor_files | ( | char * | package, | |
ACE_CString & | pcd_name | |||
) | [protected] |
Function to extract all necessary files for parsing the PackageConfiguration descriptor and populating the idl struct.
1 | success | |
0 | error |
void CIAO_RepositoryManagerDaemon_i::find_PC_name | ( | char * | package, | |
ACE_CString & | pcd_name | |||
) | [protected] |
Find out what the name of the PackageConfiguration file is.
CORBA::StringSeq * CIAO_RepositoryManagerDaemon_i::findNamesByType | ( | const char * | type | ) | throw ( CORBA::SystemException ) |
Deployment::PackageConfiguration * CIAO_RepositoryManagerDaemon_i::findPackageByName | ( | const char * | name | ) | throw ( CORBA::SystemException, ::Deployment::NoSuchName ) |
Deployment::PackageConfiguration * CIAO_RepositoryManagerDaemon_i::findPackageByUUID | ( | const char * | UUID | ) | throw ( CORBA::SystemException, ::Deployment::NoSuchName ) |
CORBA::StringSeq * CIAO_RepositoryManagerDaemon_i::getAllNames | ( | ) | throw ( CORBA::SystemException ) |
CORBA::StringSeq * CIAO_RepositoryManagerDaemon_i::getAllTypes | ( | ) | throw ( CORBA::SystemException ) |
int CIAO_RepositoryManagerDaemon_i::HTTP_Get | ( | const char * | URL, | |
ACE_Message_Block & | mb | |||
) | [protected] |
Function to retrieve a file via HTTP stores the file in the passed preallocated ACE_Message_Block
1 | success | |
0 | error |
void CIAO_RepositoryManagerDaemon_i::installPackage | ( | const char * | installationName, | |
const char * | location | |||
) | throw ( CORBA::SystemException, ::Deployment::NameExists, ::Deployment::PackageError ) [virtual] |
int CIAO_RepositoryManagerDaemon_i::remove_descriptor_files | ( | char * | package | ) | [protected] |
function to remove the files extracted for parsing the PackageConfiguration descriptor and populating the idl struct. It reads the names of the files from the package. They correspond to the names on disk. return 1 on success 0 on error
int CIAO_RepositoryManagerDaemon_i::remove_extracted_package | ( | const char * | package_path, | |
const char * | extraction_location | |||
) | [protected] |
function to remove the files extracted from the package upon istallation It reads the names of the files from the package. They correspond to the names on disk. It deletes each file, then it deletes the directories that contain them. NOTE: extraction location is path/*archive_name
Deployment::PackageConfiguration * CIAO_RepositoryManagerDaemon_i::retrieve_PC_from_descriptors | ( | const char * | pc_name, | |
const char * | descriptor_dir | |||
) | [protected] |
Function to parse and return the PackageConfiguration from the already extracted descriptor files
Deployment::PackageConfiguration * CIAO_RepositoryManagerDaemon_i::retrieve_PC_from_package | ( | char * | package | ) | [protected] |
Function to parse and return the PackageConfiguration from a specified package
void CIAO_RepositoryManagerDaemon_i::shutdown | ( | ) | throw ( CORBA::SystemException ) [virtual] |
char CIAO_RepositoryManagerDaemon_i::cwd_[TEMP_LEN] [private] |
PCMap CIAO_RepositoryManagerDaemon_i::names_ [private] |
PCMap CIAO_RepositoryManagerDaemon_i::uuids_ [private] |
a hash map that associates the UUIDs of PackageConfigurations with their location