VCOM:VectorWorks:Filing:IXMLFileValidator::SetErrorListener

From Vectorworks Developer
Jump to navigation Jump to search

.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference

Description

namespace VectorWorks::Filing

Member of VCOM:VectorWorks:Filing:IXMLFileValidator

Set listener instance that will receive error codes.

virtual VCOMError VCOM_CALLTYPE SetErrorListener(
IXMLFileValidatorErrorListener* pListener) = 0;

Parameters

pListener IXMLFileValidatorErrorListener* The error listener instance that will receive the errors. See remarks.

Return Value

Uses standard VCOM Error Reporting.

Return value meaning:

kVCOMError_NotInitialized Bad VCOM instance used to call the fuction.
kVCOMError_Failed Routine failed.

Remarks

Also every validation routine returns error codes from namespace VCOM:VectorWorks:Filing:XMLErrors.

The error listener instance should implement the interface:

class IXMLFileValidatorErrorListener
{
public:
  enum EErrorDomain
  {
    eErrorDomain_XMLError,
    eErrorDomain_Validation,
    eErrorDomain_XMLException,
  };

  struct SErrorInfo {
    EErrorDomain  fDomain;
    size_t        fLine;
    size_t        fCholumn;
    TXString      fDescription;
    // code: depends on the domain: VectorWorks::Filing::XMLErrors
    int           fCode;
    TXString      fText1;
    TXString      fText2;
    TXString      fText3;
    TXString      fText4;
  };

public:
  virtual       ~IXMLFileValidatorErrorListener()			{}
  virtual void OnWarning(const SErrorInfo& errInfo) = 0;
  virtual void OnError(const SErrorInfo& errInfo) = 0;
  virtual void OnFatalError(const SErrorInfo& errInfo) = 0;
  virtual void OnResetErrors() = 0;
};

See Also

VCOM:VectorWorks:Filing:IFolderIdentifier | VCOM:VectorWorks:Filing:IFileIdentifier | VCOM:VectorWorks:Filing:IXMLFileNode |

VCOM:VectorWorks:Filing:IXMLFile

[[VCOM:VectorWorks:Filing:IFolderIdentifier]] | [[VCOM:VectorWorks:Filing:IFileIdentifier]] | [[VCOM:VectorWorks:Filing:IXMLFileNode]] | [[VCOM:VectorWorks:Filing:IXMLFile]]