FUNCTION directory::init, name, path
self.name=name
self.path=path
return, 1
end
PRO directory::cleanup
length=(size(*p_kfiles))[1]
for i=0, length-1 do begin
ptr_free, (*p_kfiles)[i]
endfor
ptr_free, p_kfiles
length=(size(*p_n1files))[1]
for i=0, length-1 do begin
ptr_free, (*p_n1files)[i]
endfor
ptr_free, p_n1files
length=(size(*p_n2files))[1]
for i=0, length-1 do begin
ptr_free, (*p_n2files)[i]
endfor
ptr_free, p_n2files
length=(size(*p_n3files))[1]
for i=0, length-1 do begin
ptr_free, (*p_n3files)[i]
endfor
ptr_free, p_n3files
length=(size(*p_n3afiles))[1]
for i=0, length-1 do begin
ptr_free, (*p_n3afiles)[i]
endfor
ptr_free, p_n3afiles
length=(size(*p_n3bfiles))[1]
for i=0, length-1 do begin
ptr_free, (*p_n3bfiles)[i]
endfor
ptr_free, p_n3bfiles
length=(size(*p_n3cfiles))[1]
for i=0, length-1 do begin
ptr_free, (*p_n3cfiles)[i]
endfor
ptr_free, p_n3cfiles
length=(size(*p_n3dfiles))[1]
for i=0, length-1 do begin
ptr_free, (*p_n3dfiles)[i]
endfor
ptr_free, p_n3dfiles
end
FUNCTION directory::findfiles
files=findfile(self.path+'/'+self.name+'/k/', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/k/'))
endfor
self.p_kfiles=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n1', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n1/'))
endfor
self.p_n1files=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n2', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n2/'))
endfor
self.p_n2files=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n3', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n3/'))
endfor
self.p_n3files=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n3a', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i, self.path+'/'+self.name+'/n3a/']))
endfor
self.p_n3afiles=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n3b', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n3b/'))
endfor
self.p_n3bfiles=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n3c', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n3c/'))
endfor
self.p_n3cfiles=ptr_new(fileslist)
endif
files=findfile(self.path+'/'+self.name+'/n3d', count=found)
if (found gt 0) then begin
fileslist=make_array(found, /ptr)
for i=0, found-1 do begin
fileslist[i]=ptr_new(obj_new('file', files[i], self.path+'/'+self.name+'/n3d/'))
endfor
self.p_n3dfiles=ptr_new(fileslist)
endif
return, 1
end
FUNCTION directory::getname
return, self.name
end
FUNCTION directory::getkfiles
if (ptr_valid(self.p_kfiles) eq 0) then begin
a=self->findfiles()
endif
return, self.p_kfiles
end
FUNCTION directory::getn1files
if (ptr_valid(self.p_n1files) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n1files
end
FUNCTION directory::getn2files
if (ptr_valid(self.p_n2files) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n2files
end
FUNCTION directory::getn3files
if (ptr_valid(self.p_n3files) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n3files
end
FUNCTION directory::getn3afiles
if (ptr_valid(self.p_n3afiles) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n3afiles
end
FUNCTION directory::getn3bfiles
if (ptr_valid(self.p_n3bfiles) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n3bfiles
end
FUNCTION directory::getn3cfiles
if (ptr_valid(self.p_n3cfiles) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n3cfiles
end
FUNCTION directory::getn3dfiles
if (ptr_valid(self.p_n3dfiles) eq 0) then begin
a=self->findfiles()
endif
return, self.p_n3dfiles
end
PRO directory__define
define={DIRECTORY, $
name:'', $
path:'', $
p_kfiles:ptr_new(), $
p_n1files:ptr_new(), $
p_n2files:ptr_new(), $
p_n3files:ptr_new(), $
p_n3afiles:ptr_new(), $
p_n3bfiles:ptr_new(), $
p_n3cfiles:ptr_new(), $
p_n3dfiles:ptr_new(), $
p_pdffiles:ptr_new(), $
p_lisfiles:ptr_new()}
end