1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef ARY_LOC_PROJECT_HXX 29 #define ARY_LOC_PROJECT_HXX 30 31 // BASE CLASSES 32 #include <ary/loc/loc_le.hxx> 33 // USED SERVICES 34 #include <cosv/ploc.hxx> 35 #include <ary/loc/loc_dir.hxx> 36 37 38 39 40 namespace ary 41 { 42 namespace loc 43 { 44 45 46 /** Represents a root directory for source files. 47 */ 48 class Root : public LocationEntity 49 { 50 public: 51 enum E_ClassId { class_id = 7000 }; 52 53 explicit Root( 54 const csv::ploc::Path & 55 i_rRootDirectoryPath ); 56 void Assign_Directory( 57 Le_id i_assignedDirectory ); 58 virtual ~Root(); 59 60 // INQUIRY 61 const csv::ploc::Path & 62 Path() const; 63 Le_id MyDir() const; 64 65 private: 66 // Interface csv::ConstProcessorClient: 67 virtual void do_Accept( 68 csv::ProcessorIfc & io_processor ) const; 69 // Interface ary::Object: 70 virtual ClassId get_AryClass() const; 71 72 // Interface LocationEntity: 73 virtual const String & 74 inq_LocalName() const; 75 virtual Le_id inq_ParentDirectory() const; 76 77 // DATA 78 csv::ploc::Path aPath; 79 String sPathAsString; 80 Le_id aMyDirectory; 81 }; 82 83 84 85 86 // IMPLEMENTATION 87 inline void 88 Root::Assign_Directory(Le_id i_assignedDirectory) 89 { 90 aMyDirectory = i_assignedDirectory; 91 } 92 93 inline const csv::ploc::Path & 94 Root::Path() const 95 { 96 return aPath; 97 } 98 99 inline Le_id 100 Root::MyDir() const 101 { 102 return aMyDirectory; 103 } 104 105 106 107 108 } // namespace loc 109 } // namespace ary 110 #endif 111