1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef __ooo_vba_XConnectable_idl__
11#define __ooo_vba_XConnectable_idl__
12
13module ooo {  module vba {
14
15// Despite being here in ooo::vba, this has nothing to do with "VBA" (Visual Basic for
16// Applications), or the VBA compatibility in StarBasic. This is related to using LibreOffice from
17// (OLE) Automation clients. It is here anyway because much of the API available to such clients
18// is identical to that offered to StarBasic code written in a VBA-like fashion.
19
20// An object that implements this interface should intend to be usable from an Automation client
21// that wants the object to do callbacks, i.e. generate "events" in the client (for instance
22// implemented in VBScript, VB6, or even C++).
23
24interface XConnectable
25{
26    interface XInterfaceWithIID;
27    // Silly name yes, but I can't find what the proper term for this thing is. This is not a
28    // published interface anyway.
29    string GetIIDForClassItselfNotCoclass();
30    TypeAndIID GetConnectionPoint();
31    XConnectionPoint FindConnectionPoint();
32};
33
34}; };
35
36#endif
37
38/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
39