Ejemplo n.º 1
0
 // Construction
 public CProject( EProjectID id, CProjectRecord old_project_record )
 {
     ID = id;
     OldProjectRecord = old_project_record;
     NewProjectRecord = null;
     CreationState = EProjectCreationState.Deleted;
     State = EProjectState.Invalid;
 }
Ejemplo n.º 2
0
        public CProject( EProjectID id, FileInfo project_file )
        {
            ID = id;
            OldProjectRecord = null;
            NewProjectRecord = new CProjectRecord( Path.GetFileNameWithoutExtension( project_file.FullName ) );
            CreationState = EProjectCreationState.New;
            State = EProjectState.Dirty;

            Parse_Project_File( project_file );
        }
Ejemplo n.º 3
0
 public CProject Get_Project_By_ID( EProjectID id )
 {
     return m_Projects[ id ];
 }
Ejemplo n.º 4
0
        public void Build_Project_Enum_List( EProjectID project_id, List< CEnumRecord > enum_records )
        {
            foreach ( var record in m_Enums.Values.Select( en => en.NewEnumRecord ) )
            {
                if ( record == null )
                {
                    continue;
                }

                CHeaderFile header_file = CEnumReflector.HeaderFileTracker.Get_Header_File_By_ID( record.HeaderFileID );
                if ( header_file == null )
                {
                    continue;
                }

                if ( header_file.ProjectID != project_id )
                {
                    continue;
                }

                enum_records.Add( record );
            }
        }
 public CHeaderFile( EHeaderFileID id, EProjectID project_id, CHeaderFileRecord new_record )
 {
     ID = id;
     ProjectID = project_id;
     OldHeaderFileRecord = null;
     NewHeaderFileRecord = new_record;
     CreationState = EHeaderFileCreationState.New;
     State = EHeaderFileState.Dirty;
 }
        public void Register_Header_File( EProjectID project_id, CHeaderFileRecord header_record )
        {
            EHeaderFileID header_id = EHeaderFileID.Invalid;
            if ( m_HeaderFileIDMap.TryGetValue( header_record.FileNameWithPath, out header_id ) )
            {
                CHeaderFile header_file = null;
                if ( !m_HeaderFiles.TryGetValue( header_id, out header_file ) )
                {
                    throw new Exception( "Internal header file mapping error" );
                }

                header_file.Initialize_Existing( project_id, header_record );
            }
            else
            {
                header_id = Allocate_Header_File_ID();
                CHeaderFile header_file = new CHeaderFile( header_id, project_id, header_record );
                m_HeaderFileIDMap.Add( header_file.FileNameWithPath, header_id );
                m_HeaderFiles.Add( header_id, header_file );
            }
        }
 public void Set_Project_ID( EProjectID project_id )
 {
     ProjectID = project_id;
 }
 // Methods
 // Public interface
 public void Initialize_Existing( EProjectID project_id, CHeaderFileRecord new_record )
 {
     NewHeaderFileRecord = new_record;
     CreationState = EHeaderFileCreationState.Unchanged;
     State = ( NewHeaderFileRecord.LastModifiedTime > OldHeaderFileRecord.LastModifiedTime ) ? EHeaderFileState.Dirty : EHeaderFileState.Unchanged;
     ProjectID = project_id;
 }