Actual source code: pams.c
1: /*$Id: pams.c,v 1.9 2001/03/23 23:20:42 balay Exp $*/
3: #include petsc.h
5: #if defined(PETSC_HAVE_AMS)
7: /*
8: Publishes the common header part of any PETSc object.
9: */
12: int PetscObjectPublishBaseBegin(PetscObject obj)
13: {
14: AMS_Memory amem;
15: AMS_Comm acomm;
16: int ierr;
19: PetscObjectName(obj);
21: PetscViewerAMSGetAMSComm(PETSC_VIEWER_AMS_(obj->comm),&acomm);
22: AMS_Memory_create(acomm,obj->name,&amem);
23: obj->amem = (int)amem;
25: AMS_Memory_take_access(amem);
26: AMS_Memory_add_field(amem,"Class",&obj->class_name,1,AMS_STRING,AMS_READ,
27: AMS_COMMON,AMS_REDUCT_UNDEF);
28: AMS_Memory_add_field(amem,"Type",&obj->type_name,1,AMS_STRING,AMS_READ,
29: AMS_COMMON,AMS_REDUCT_UNDEF);
30: AMS_Memory_add_field(amem,"Id",&obj->id,1,AMS_INT,AMS_READ,
31: AMS_COMMON,AMS_REDUCT_UNDEF);
32: AMS_Memory_add_field(amem,"ParentId",&obj->parentid,1,AMS_INT,AMS_READ,
33: AMS_COMMON,AMS_REDUCT_UNDEF);
34: AMS_Memory_add_field(amem,"Name",&obj->name,1,AMS_STRING,AMS_READ,
35: AMS_COMMON,AMS_REDUCT_UNDEF);
36: return(0);
37: }
41: int PetscObjectPublishBaseEnd(PetscObject obj)
42: {
43: AMS_Memory amem = (AMS_Memory) obj->amem;
44: int ierr;
48: if (amem < 0) SETERRQ(1,"Called without a call to PetscObjectPublishBaseBegin()");
49: AMS_Memory_publish(amem);
50: AMS_Memory_grant_access(amem);
51: return(0);
52: }
54: #else
58: int mydummy(void)
59: {
61: return(0);
62: }
64: #endif