#include <maya/MStatus.h>
#include <maya/MFnPlugin.h>
#include "exportMetadataCmd.h"
#include "importMetadataCmd.h"
#include "createMetadataCmd.h"
#include "tweakMetadataNode.h"
{ 
    MFnPlugin plugin ( obj, 
"Autodesk", 
"1.0", 
"Any" );
 
    
                                     exportMetadataCmd::creator,
                                     exportMetadataCmd::cmdSyntax );
    if ( !status )
    {
        status.
perror(
"registerCommand(exportMetadata)");
        return status;
    }
    
                                     importMetadataCmd::creator,
                                     importMetadataCmd::cmdSyntax );
    if ( !status )
    {
        status.
perror(
"registerCommand(importMetadata)");
        return status;
    }
    
                                     createMetadataCmd::creator,
                                     createMetadataCmd::cmdSyntax );
    if ( !status )
    {
        status.
perror(
"registerCommand(createMetadata)");
        return status;
    }
    
    status = plugin.
registerNode( tweakMetadataNode::nodeName(),
                                  tweakMetadataNode::id,
                                  tweakMetadataNode::creator,
                                  tweakMetadataNode::initialize );
    if ( !status )
    {
        status.
perror(
"registerNode(tweakMetadata)");
        return status;
    }
}
{
    status = plugin.deregisterNode( tweakMetadataNode::id );
    if ( ! status )
    {
        status.
perror(
"deregisterNode(tweakMetadata)");
        return status;
    }
    status = plugin.deregisterCommand( createMetadataCmd::name() );
    if ( ! status )
    {
        status.
perror(
"deregisterCommand(createMetadata)");
        return status;
    }
    status = plugin.deregisterCommand( importMetadataCmd::name() );
    if ( ! status )
    {
        status.
perror(
"deregisterCommand(importMetadata)");
        return status;
    }
    status = plugin.deregisterCommand( exportMetadataCmd::name() );
    if ( ! status )
    {
        status.
perror(
"deregisterCommand(exportMetadata)");
        return status;
    }
}