/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#pragma once

#include <svtools/sfxecode.hxx>
#include <svtools/soerr.hxx>

#define NC_(Context, String) TranslateId(Context, u8##String)

const ErrMsgCode RID_ERRCTX[] =
{
    { NC_("RID_ERRCTX", "Error") , ErrCode(ERRCTX_ERROR) },
    { NC_("RID_ERRCTX", "Warning") , ErrCode(ERRCTX_WARNING) },
    { NC_("RID_ERRCTX", "$(ERR) loading the template $(ARG1)") , ErrCode(ERRCTX_SFX_LOADTEMPLATE) },
    { NC_("RID_ERRCTX", "$(ERR) saving the document $(ARG1)"), ErrCode(ERRCTX_SFX_SAVEDOC) },
    { NC_("RID_ERRCTX", "$(ERR) saving the document $(ARG1)"), ErrCode(ERRCTX_SFX_SAVEASDOC) },
    { NC_("RID_ERRCTX", "$(ERR) displaying doc. information for document $(ARG1)") , ErrCode(ERRCTX_SFX_DOCINFO) },
    { NC_("RID_ERRCTX", "$(ERR) writing document $(ARG1) as template") , ErrCode(ERRCTX_SFX_DOCTEMPLATE) },
    { NC_("RID_ERRCTX", "$(ERR) copying or moving document contents") , ErrCode(ERRCTX_SFX_MOVEORCOPYCONTENTS) },
    { NC_("RID_ERRCTX", "$(ERR) starting the Document Manager") , ErrCode(ERRCTX_SFX_DOCMANAGER) },
    { NC_("RID_ERRCTX", "$(ERR) loading document $(ARG1)") , ErrCode(ERRCTX_SFX_OPENDOC) },
    { NC_("RID_ERRCTX", "$(ERR) creating a new document") , ErrCode(ERRCTX_SFX_NEWDOCDIRECT) },
    { NC_("RID_ERRCTX", "$(ERR) creating a new document") , ErrCode(ERRCTX_SFX_NEWDOC) },
    { NC_("RID_ERRCTX", "$(ERR) expanding entry") , ErrCode(ERRCTX_SFX_CREATEOBJSH) },
    { NC_("RID_ERRCTX", "$(ERR) loading BASIC of document $(ARG1)") , ErrCode(ERRCTX_SFX_LOADBASIC) },
    { NC_("RID_ERRCTX", "$(ERR) searching for an address"), ErrCode(ERRCTX_SFX_SEARCHADDRESS) },
    { {}, ERRCODE_NONE }
};

const std::pair<TranslateId, ErrCodeClass> RID_ERRHDL_CLASS[] =
{
    { NC_("RID_ERRHDL", "Abort") , ErrCodeClass::Abort },
    { NC_("RID_ERRHDL", "Nonexistent object") , ErrCodeClass::NotExists },
    { NC_("RID_ERRHDL", "Object already exists") , ErrCodeClass::AlreadyExists },
    { NC_("RID_ERRHDL", "Object not accessible") , ErrCodeClass::Access },
    { NC_("RID_ERRHDL", "Inadmissible path") , ErrCodeClass::Path },
    { NC_("RID_ERRHDL", "Locking problem") , ErrCodeClass::Locking },
    { NC_("RID_ERRHDL", "Wrong parameter") , ErrCodeClass::Parameter },
    { NC_("RID_ERRHDL", "Resource exhausted") , ErrCodeClass::Space },
    { NC_("RID_ERRHDL", "Action not supported") , ErrCodeClass::NotSupported },
    { NC_("RID_ERRHDL", "Read Error") , ErrCodeClass::Read },
    { NC_("RID_ERRHDL", "Write Error") , ErrCodeClass::Write },
    { NC_("RID_ERRHDL", "unknown") , ErrCodeClass::Unknown },
    { NC_("RID_ERRHDL", "Version Incompatibility") , ErrCodeClass::Version },
    { NC_("RID_ERRHDL", "General Error") , ErrCodeClass::General },
    { NC_("RID_ERRHDL", "Incorrect format") , ErrCodeClass::Format },
    { NC_("RID_ERRHDL", "Error creating object") , ErrCodeClass::Create },
    { NC_("RID_ERRHDL", "Inadmissible value or data type") , ErrCodeClass::Sbx },
    { NC_("RID_ERRHDL", "BASIC runtime error") , ErrCodeClass::Runtime },
    { NC_("RID_ERRHDL", "BASIC syntax error") , ErrCodeClass::Compiler },
    { {}, ErrCodeClass::NONE }
};

const ErrMsgCode RID_ERRHDL[] =
{
    { NC_("RID_ERRHDL", "General Error") , ErrCode(1) },
    { NC_("RID_ERRHDL", "General input/output error.") , ERRCODE_IO_GENERAL },
    { NC_("RID_ERRHDL", "Invalid file name.") , ERRCODE_IO_MISPLACEDCHAR },
    { NC_("RID_ERRHDL", "Nonexistent file.") , ERRCODE_IO_NOTEXISTS },
    { NC_("RID_ERRHDL", "File already exists.") , ERRCODE_IO_ALREADYEXISTS },
    { NC_("RID_ERRHDL", "The object is not a directory.") , ERRCODE_IO_NOTADIRECTORY },
    { NC_("RID_ERRHDL", "The object is not a file.") , ERRCODE_IO_NOTAFILE },
    { NC_("RID_ERRHDL", "The specified device is invalid.") , ERRCODE_IO_INVALIDDEVICE },
    { NC_("RID_ERRHDL", "The object cannot be accessed\ndue to insufficient user rights.") , ERRCODE_IO_ACCESSDENIED },
    { NC_("RID_ERRHDL", "Sharing violation while accessing the object.") , ERRCODE_IO_LOCKVIOLATION },
    { NC_("RID_ERRHDL", "No more space on device.") , ERRCODE_IO_OUTOFSPACE },
    { NC_("RID_ERRHDL", "This operation cannot be run on\nfiles containing wildcards.") , ERRCODE_IO_ISWILDCARD },
    { NC_("RID_ERRHDL", "This operation is not supported on this operating system.") , ERRCODE_IO_NOTSUPPORTED },
    { NC_("RID_ERRHDL", "There are too many files open.") , ERRCODE_IO_TOOMANYOPENFILES },
    { NC_("RID_ERRHDL", "Data could not be read from the file.") , ERRCODE_IO_CANTREAD },
    { NC_("RID_ERRHDL", "The file could not be written.") , ERRCODE_IO_CANTWRITE },
    { NC_("RID_ERRHDL", "The operation could not be run due to insufficient memory.") , ERRCODE_IO_OUTOFMEMORY },
    { NC_("RID_ERRHDL", "The seek operation could not be run.") , ERRCODE_IO_CANTSEEK },
    { NC_("RID_ERRHDL", "The tell operation could not be run.") , ERRCODE_IO_CANTTELL },
    { NC_("RID_ERRHDL", "Incorrect file version.") , ERRCODE_IO_WRONGVERSION },
    { NC_("RID_ERRHDL", "Incorrect file format.") , ERRCODE_IO_WRONGFORMAT },
    { NC_("RID_ERRHDL", "The file name contains invalid characters.") , ERRCODE_IO_INVALIDCHAR },
    { NC_("RID_ERRHDL", "An unknown I/O error has occurred.") , ERRCODE_IO_UNKNOWN },
    { NC_("RID_ERRHDL", "An invalid attempt was made to access the file.") , ERRCODE_IO_INVALIDACCESS },
    { NC_("RID_ERRHDL", "The file could not be created.") , ERRCODE_IO_CANTCREATE },
    { NC_("RID_ERRHDL", "The operation was started under an invalid parameter.") , ERRCODE_IO_INVALIDPARAMETER },
    { NC_("RID_ERRHDL", "The operation on the file was aborted.") , ERRCODE_IO_ABORT },
    { NC_("RID_ERRHDL", "Path to the file does not exist.") , ERRCODE_IO_NOTEXISTSPATH },
    { NC_("RID_ERRHDL", "An object cannot be copied into itself.") , ERRCODE_IO_RECURSIVE },
    { NC_("RID_ERRHDL", "The specified template could not be found.") , ERRCODE_SFX_TEMPLATENOTFOUND },
    { NC_("RID_ERRHDL", "The file cannot be used as template.") , ERRCODE_SFX_NOTATEMPLATE },
    { NC_("RID_ERRHDL", "This document has already been opened for editing.") , ERRCODE_SFX_ALREADYOPEN },
    { NC_("RID_ERRHDL", "The wrong password has been entered.") , ERRCODE_SFX_WRONGPASSWORD },
    { NC_("RID_ERRHDL", "Error reading file.") , ERRCODE_SFX_DOLOADFAILED },
    { NC_("RID_ERRHDL", "Document opened as read-only cannot be saved over itself.") , ERRCODE_SFX_DOCUMENTREADONLY },
    { NC_("RID_ERRHDL", "General OLE Error.") , ERRCODE_SFX_OLEGENERAL },
    { NC_("RID_ERRHDL", "The host name $(ARG1) could not be resolved.") , ERRCODE_INET_NAME_RESOLVE },
    { NC_("RID_ERRHDL", "Could not establish Internet connection to $(ARG1).") , ERRCODE_INET_CONNECT },
    { NC_("RID_ERRHDL", "Client error message:\n$(ARG2)") , ERRCODE_INET_CONNECT_MSG },
    { NC_("RID_ERRHDL", "Error reading data from the Internet.\nServer error message: $(ARG1).") , ERRCODE_INET_READ },
    { NC_("RID_ERRHDL", "Error transferring data to the Internet.\nServer error message: $(ARG1).") , ERRCODE_INET_WRITE },
    { NC_("RID_ERRHDL", "General Internet error has occurred.") , ERRCODE_INET_GENERAL },
    { NC_("RID_ERRHDL", "The requested Internet data is not available in the cache and cannot be transmitted as the Online mode has not be activated.") , ERRCODE_INET_OFFLINE },
    { NC_("RID_ERRHDL", "The contents could not be created.") , ERRCODE_SFX_CANTCREATECONTENT },
    { NC_("RID_ERRHDL", "The file name is too long for the target file system.") , ERRCODE_IO_NAMETOOLONG },
    { NC_("RID_ERRHDL", "The input syntax is invalid.") , ERRCODE_SFX_INVALIDSYNTAX },
    { NC_("RID_ERRHDL", "This document contains attributes that cannot be saved in the selected format.\nPlease save the document in a %PRODUCTNAME %PRODUCTVERSION file format."), ERRCODE_IO_NOTSTORABLEINBINARYFORMAT },
    { NC_("RID_ERRHDL", "The maximum number of documents that can be opened at the same time has been reached. You need to close one or more documents before you can open a new document."), ERRCODE_SFX_NOMOREDOCUMENTSALLOWED },
    { NC_("RID_ERRHDL", "Could not create backup copy.") , ERRCODE_SFX_CANTCREATEBACKUP },
    { NC_("RID_ERRHDL", "The encrypted document contains unexpected non-encrypted streams.\n\nThis could be the result of document manipulation.\n\nWe recommend that you do not trust the content of the current document.\nExecution of macros is disabled for this document.\n ") , ERRCODE_SFX_INCOMPLETE_ENCRYPTION },
    { NC_("RID_ERRHDL", "Invalid data length.") , ERRCODE_IO_INVALIDLENGTH },
    { NC_("RID_ERRHDL", "Function not possible: path contains current directory.") , ERRCODE_IO_CURRENTDIR },
    { NC_("RID_ERRHDL", "Function not possible: device (drive) not identical.") , ERRCODE_IO_NOTSAMEDEVICE },
    { NC_("RID_ERRHDL", "Device (drive) not ready.") , ERRCODE_IO_DEVICENOTREADY },
    { NC_("RID_ERRHDL", "Wrong checksum.") , ERRCODE_IO_BADCRC },
    { NC_("RID_ERRHDL", "Function not possible: write protected.") , ERRCODE_IO_WRITEPROTECTED },
    { NC_("RID_ERRHDL", "The password of a shared spreadsheet cannot be set or changed.\nDeactivate sharing mode first."), ERRCODE_SFX_SHARED_NOPASSWORDCHANGE },
    { NC_("RID_ERRHDL", "File format error found at $(ARG1)(row,col)."), ERRCODE_SFX_FORMAT_ROWCOL },
    { NC_("RID_ERRHDL", "The filter for this file format is disabled in configuration. Please contact your systems administrator."), ERRCODE_IO_FILTERDISABLED },
    { {}, ERRCODE_NONE }
};

const ErrMsgCode RID_SO_ERROR_HANDLER[] =
{
    { NC_("RID_ERRHDL", "General OLE error."),
      ERRCODE_SO_GENERALERROR },
    { NC_("RID_ERRHDL", "The action cannot be executed in the object's current state."),
      ERRCODE_SO_CANNOT_DOVERB_NOW },
    { NC_("RID_ERRHDL", "The object does not support any actions."),
      ERRCODE_SO_NOVERBS },
    { NC_("RID_ERRHDL", "Object does not support this action."),
      ERRCODE_SO_NOTIMPL },
    { {}, ERRCODE_NONE }
};

const ErrMsgCode RID_SO_ERRCTX[] =
{
    { NC_("RID_ERRHDL", "$(ERR) activating object") , ErrCode(ERRCTX_SO_DOVERB) },
    { {}, ERRCODE_NONE }
};


/* vim:set shiftwidth=4 softtabstop=4 expandtab: */