1
/* -*- mode: idl; style: linux -*- */
3
/* Bonobo_ConfigArchiver.idl
4
* Copyright (C) 2001 Ximian, Inc.
6
* Written by Bradford Hovinen <hovinen@ximian.com>
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2, or (at your option)
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
24
#ifndef __CONFIGARCHIVER_IDL
25
#define __CONFIGARCHIVER_IDL
28
#pragma include_defs bonobo/Bonobo.h
32
#include <Bonobo_Unknown.idl>
36
module ConfigArchiver {
37
typedef unsigned long long Time;
38
typedef sequence<string> StringSeq;
40
enum ContainmentType {
41
CONTAIN_NONE, CONTAIN_PARTIAL, CONTAIN_FULL
45
STORE_DEFAULT, STORE_FULL, STORE_COMPARE_PARENT, STORE_MASK_PREVIOUS
48
interface BackendList : Bonobo::Unknown {
49
readonly attribute StringSeq backends;
51
boolean contains (in string backendId);
53
void add (in string backendId);
54
void remove (in string backendId);
59
interface Location : Bonobo::Unknown {
60
exception RollbackDataNotFound {};
62
readonly attribute Location parent;
63
readonly attribute string path;
64
readonly attribute StringSeq backendList;
66
attribute string label;
69
string getStorageFilename (in string backendId,
70
in boolean isDefaultData);
72
string getRollbackFilename (in Time time,
75
in boolean parentChain)
76
raises (RollbackDataNotFound);
78
void storageComplete (in string filename);
80
void rollbackBackends (in Time time,
82
in StringSeq backendId,
83
in boolean parentChain);
85
Time getModificationTime (in string backendId);
87
ContainmentType contains (in string backendId);
88
long addBackend (in string backendId,
89
in ContainmentType type);
90
void removeBackend (in string backendId);
92
boolean doesBackendChange (in Location location,
95
void garbageCollect ();
100
typedef sequence<Location> LocationSeq;
102
interface Archive : Bonobo::Unknown {
103
exception LocationNotFound {};
105
readonly attribute string prefix;
106
readonly attribute boolean isGlobal;
107
readonly attribute BackendList backendList;
109
attribute Location currentLocation;
110
attribute string currentLocationId;
112
Location getLocation (in string locid)
113
raises (LocationNotFound);
115
Location createLocation (in string locid,
119
LocationSeq getChildLocations (in Location parent);
123
#endif /* ! __CONFIGARCHIVER_IDL */