Ejemplo n.º 1
0
rc_t CC
_DocNodeFile_v1 (
            const struct XFSNode * self,
            const struct XFSFileEditor ** File
)
{
    rc_t RCt;
    struct XFSDocFileEditor * FileEditor;
    struct XFSFileEditor * Editor;

    RCt = 0;
    FileEditor = NULL;
    Editor = NULL;

    if ( self == NULL || File == NULL ) {
        return XFS_RC ( rcNull );
    }

    * File = NULL;

    FileEditor = calloc ( 1, sizeof ( struct XFSDocFileEditor ) );
    if ( FileEditor == NULL ) { 
        return XFS_RC ( rcExhausted );
    }

    Editor = & ( FileEditor -> Papahen );

    RCt = XFSEditorInit (
                    & ( Editor -> Papahen ),
                    self,
                    _DocFile_dispose_v1
                    );

    if ( RCt == 0 ) {
        Editor -> open = _DocFile_open_v1;
        Editor -> close = _DocFile_close_v1;
        Editor -> read = _DocFile_read_v1;
        Editor -> write = NULL;
        Editor -> size = _DocFile_size_v1;
        Editor -> set_size = NULL;

        * File = Editor;
    }
    else {
        free ( Editor );
    }

    return RCt;
}   /* _DocNodeFile_v1 () */
Ejemplo n.º 2
0
static
rc_t CC
_DocNodeAttr_v1 (
            const struct XFSNode * self,
            const struct XFSAttrEditor ** Attr
)
{
    rc_t RCt;
    struct XFSAttrEditor * Editor;

    RCt = 0;
    Editor = NULL;

    if ( Attr != NULL ) {
        * Attr = NULL;
    }

    if ( self == NULL || Attr == NULL ) {
        return XFS_RC ( rcNull );
    }

    Editor = calloc ( 1, sizeof ( struct XFSAttrEditor ) );
    if ( Editor == NULL ) {
        return XFS_RC ( rcExhausted );
    }

    RCt = XFSEditorInit (
                    & ( Editor -> Papahen ),
                    self,
                    _DocAttr_dispose_v1
                    );

    if ( RCt == 0 ) {
        Editor -> permissions = _DocAttr_permissions_v1;
        Editor -> set_permissions = NULL;
        Editor -> size = _DocAttr_size_v1;
        Editor -> set_size = NULL;
        Editor -> date = _DocAttr_date_v1;
        Editor -> set_date = NULL;
        Editor -> type = _DocAttr_type_v1;

        * Attr = Editor;
    }
    else {
        free ( Editor );
    }

    return RCt;
}   /* _DocNodeAttr_v1 () */
Ejemplo n.º 3
0
rc_t CC
_EncNodeFile_v1 (
            const struct XFSNode * self,
            const struct XFSFileEditor ** File
)
{
    rc_t RCt;
    struct XFSEncFileEditor * FileEditor;
    struct XFSFileEditor * Editor;

    RCt = 0;
    FileEditor = NULL;
    Editor = NULL;

    XFS_CSAN ( File )

    XFS_CAN ( self )
    XFS_CAN ( File )

    FileEditor = calloc ( 1, sizeof ( struct XFSEncFileEditor ) );
    if ( FileEditor == NULL ) { 
        return XFS_RC ( rcExhausted );
    }

    memset ( FileEditor, 0, sizeof ( struct XFSEncFileEditor ) );

    Editor = & ( FileEditor -> Papahen );

    RCt = XFSEditorInit (
                    & ( Editor -> Papahen ),
                    self,
                    _EncFile_dispose_v1
                    );

    if ( RCt == 0 ) {
        Editor -> open = _EncFile_open_v1;
        Editor -> close = _EncFile_close_v1;
        Editor -> read = _EncFile_read_v1;

        * File = Editor;
    }
    else {
        free ( Editor );
    }

    return RCt;
}   /* _EncNodeFile_v1 () */
Ejemplo n.º 4
0
static
rc_t CC
_BogusNodeAttr_v1 (
            const struct XFSNode * self,
            const struct XFSAttrEditor ** Attr
)
{
    rc_t RCt;
    struct XFSAttrEditor * Editor;

    RCt = 0;
    Editor = NULL;

    if ( self == NULL || Attr == NULL ) {
        return XFS_RC ( rcNull );
    }
    * Attr = NULL;

    Editor = calloc ( 1, sizeof ( struct XFSAttrEditor ) );
    if ( Editor == NULL ) {
        XFSNodeRelease ( self );
        return XFS_RC ( rcExhausted );
    }

    RCt = XFSEditorInit (
                        & ( Editor -> Papahen ),
                        self,
                        _BogusNodeAttr_dispose_v1
                        );

    if ( RCt == 0 ) {
        Editor -> type = _BogusNodeAttr_type_v1;

        * Attr = Editor;
    }
    else {
        free ( Editor );
    }
/*
printf ( " _BogusNodeAttr_ ( 0x%p )\n", Editor );
*/

    return RCt;
}   /* _BogusNodeAttr_v1 () */
Ejemplo n.º 5
0
static
rc_t CC
_EncNodeAttr_v1 (
            const struct XFSNode * self,
            const struct XFSAttrEditor ** Attr
)
{
    rc_t RCt;
    struct XFSAttrEditor * Editor;

    RCt = 0;
    Editor = NULL;

    XFS_CSAN ( Attr )

    XFS_CAN ( self )
    XFS_CAN ( Attr )

    Editor = calloc ( 1, sizeof ( struct XFSAttrEditor ) );
    if ( Editor == NULL ) {
        return XFS_RC ( rcExhausted );
    }

    RCt = XFSEditorInit (
                    & ( Editor -> Papahen ),
                    self,
                    _EncAttr_dispose_v1
                    );
    if ( RCt == 0 ) {
        Editor -> permissions = _EncAttr_permissions_v1;
        Editor -> size = _EncAttr_size_v1;
        Editor -> date = _EncAttr_date_v1;
        Editor -> type = _EncAttr_type_v1;

        * Attr = Editor;
    }
    else {
        free ( Editor );
    }

    return RCt;
}   /* _EncNodeAttr_v1 () */