Main Page | Class List | Directories | File List | Class Members | File Members

ObitAIPSDir.h File Reference

ObitAIPSDir class definition. More...

#include <glib.h>
#include "ObitErr.h"
#include "ObitThread.h"
#include "ObitAIPS.h"

Go to the source code of this file.

Classes

struct  ObitAIPSDirCatEntry
 AIPS Catalog (directory) entry structure A short description of the name and access info. More...

Enumerations

enum  _ObitAIPSDirStatusCode {
  OBIT_AIPS_Dir_AddWrite, OBIT_AIPS_Dir_ClearWrite, OBIT_AIPS_Dir_IncRead, OBIT_AIPS_Dir_DecRead,
  OBIT_AIPS_Dir_ClearAll
}
 enum for Catalog status change codes. More...
enum  _ObitAIPSDirStatusError {
  OBIT_AIPS_Dir_StatusOK, OBIT_AIPS_Dir_StatusSpecErr, OBIT_AIPS_Dir_StatusIOErr, OBIT_AIPS_Dir_StatusRead,
  OBIT_AIPS_Dir_StatusWrite
}
 enum for Catalog status change errors. More...

Functions

gint ObitAIPSDirFindCNO (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gint seq, ObitErr *err)
 Public: Find AIPS Catalog for a given AIPS name ...
gint ObitAIPSDirAlloc (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gint seq, gboolean *exist, ObitErr *err)
 Public: Allocate AIPS directory slot an fill it in.
void ObitAIPSDirRemoveEntry (gint disk, gint user, gint cno, ObitErr *err)
 Public: Remove Catalog directory entry.
gint ObitAIPSDirNumber (gint disk, gint user, ObitErr *err)
 Public: Determine maximum catalog slot number occupied.
gint ObitAIPSDirHiSeq (gint disk, gint user, gchar Aname[13], gchar Aclass[7], gchar Atype[3], gboolean exist, ObitErr *err)
 Public: Determine maximum sequence number used.
void ObitAIPSDirRename (gint disk, gint user, gint cno, gchar *newName, gchar *newClass, gint newSeq, ObitErr *err)
 Public: Rename entry.
ObitAIPSDirCatEntryObitAIPSDirGetEntry (gint disk, gint user, gint cno, ObitErr *err)
 Public: Get Catalog directory entry.
void ObitAIPSDirGetAccess (ObitAIPSDirCatEntry *entry, gchar *timeDate)
 Public: Get last access.
ObitAIPSDirStatusError ObitAIPSDirStatus (gint disk, gint user, gint cno, ObitAIPSDirStatusCode code, ObitErr *err)
 Public: Change status of Catalog directory entry.


Detailed Description

ObitAIPSDir class definition.

This is a Utility class to handle the interface with the AIPS catalog directory system. This class is non-derivable and has no public instances.


Enumeration Type Documentation

enum _ObitAIPSDirStatusCode
 

enum for Catalog status change codes.

Enumeration values:
OBIT_AIPS_Dir_AddWrite  Add Write Status.
OBIT_AIPS_Dir_ClearWrite  Clear Write Status.
OBIT_AIPS_Dir_IncRead  Increment Read Status.
OBIT_AIPS_Dir_DecRead  Decrement Read Status.
OBIT_AIPS_Dir_ClearAll  Clear All Status.

enum _ObitAIPSDirStatusError
 

enum for Catalog status change errors.

Enumeration values:
OBIT_AIPS_Dir_StatusOK  Operation OK.
OBIT_AIPS_Dir_StatusSpecErr  Input Specification Error.
OBIT_AIPS_Dir_StatusIOErr  I/O Error.
OBIT_AIPS_Dir_StatusRead  Cannot add write due to read status.
OBIT_AIPS_Dir_StatusWrite  Cannot add read or write due to write status.


Function Documentation

gint ObitAIPSDirAlloc gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gint  seq,
gboolean *  exist,
ObitErr err
 

Public: Allocate AIPS directory slot an fill it in.

If it doesn't exist find the first free slot and allocate it to the new entry.

Parameters:
disk disk number.
user AIPS user number.
Aname AIPS name.
Aclass AIPS class.
Atype AIPS file type (MA, UV, SC).
seq AIPS sequence number. If <=0 then one is assigned if a matching file exists, the highest sequence number, is used, else seq 1 is allocated.
exist [out] TRUE iff the entry previously existed.
err Obit error stack.
Returns:
the catalog slot number or -1 if it was not found.

gint ObitAIPSDirFindCNO gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gint  seq,
ObitErr err
 

Public: Find AIPS Catalog for a given AIPS name ...

Parameters:
disk disk number to search.
user AIPS user number
Aname AIPS name.
Aclass AIPS class.
Atype AIPS file type ("MA", "UV", "SC", " "=>any).
seq AIPS sequence number.
err Obit error stack
Returns:
the catalog slot number or -1 if it was not found.

void ObitAIPSDirGetAccess ObitAIPSDirCatEntry entry,
gchar *  timeDate
 

Public: Get last access.

Parameters:
entry Structure whose access time is desired
timeDate String to accept date/time string Must have at least 21 char allocated.

ObitAIPSDirCatEntry* ObitAIPSDirGetEntry gint  disk,
gint  user,
gint  cno,
ObitErr err
 

Public: Get Catalog directory entry.

Parameters:
disk disk number.
user user id number.
cno catalog slot number
err ObitErr error stack.
Returns:
pointer to a newly created ObitAIPSDirCatEntry, NULL on failure, this must be freed (g_free).

gint ObitAIPSDirHiSeq gint  disk,
gint  user,
gchar  Aname[13],
gchar  Aclass[7],
gchar  Atype[3],
gboolean  exist,
ObitErr err
 

Public: Determine maximum sequence number used.

If exist==TRUE and a match is found the highest value is returned. If If exist==FALSE and a match is found , the highest seq+1 is returned If there are no matches, 1 is returned

Parameters:
disk disk number., if 0, check all
user AIPS user number.
Aname AIPS name, NULLs assumed equivalent to blank
Aclass AIPS class. NULLs assumed equivalent to blank
Atype AIPS file type (MA, UV, SC).
exist TRUE iff the entry already exists (open for read)
err Obit error stack.
Returns:
the desired AIPS sequence number, -1 on error

gint ObitAIPSDirNumber gint  disk,
gint  user,
ObitErr err
 

Public: Determine maximum catalog slot number occupied.

Parameters:
disk disk number.
user AIPS user number.
err Obit error stack.
Returns:
highest catalog slot number in directory

void ObitAIPSDirRemoveEntry gint  disk,
gint  user,
gint  cno,
ObitErr err
 

Public: Remove Catalog directory entry.

Parameters:
disk disk number.
user AIPS user number.
cno Catalog slot number.
err Obit error stack.

void ObitAIPSDirRename gint  disk,
gint  user,
gint  cno,
gchar *  newName,
gchar *  newClass,
gint  newSeq,
ObitErr err
 

Public: Rename entry.

ObitAIPSDirStatusError ObitAIPSDirStatus gint  disk,
gint  user,
gint  cno,
ObitAIPSDirStatusCode  code,
ObitErr err
 

Public: Change status of Catalog directory entry.

Only one program/thread can mark an entry write and if the entry is marked write no reads can be added. Errors are indicated in err and as the return code.

Parameters:
disk disk number.
user user id number.
cno catalog slot number
code a status change code as an #ObitAIPSDirStatusCode defined in ObitAIPSDir.h.
  • OBIT_AIPS_Dir_AddWrite => Add Write Status
  • OBIT_AIPS_Dir_ClearWrite => Clear Write Status
  • OBIT_AIPS_Dir_IncRead => Increment Read Status
  • OBIT_AIPS_Dir_DecRead => Decrement Read Status
err ObitErr error stack.
Returns:
a completion code as an #ObitAIPSDirStatusError. OBIT_AIPS_Dir_StatusOK on success.


Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1