home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / idl / ConfigArchiver.idl next >
Encoding:
Text File  |  2006-08-30  |  3.9 KB  |  124 lines

  1. /* -*- mode: idl; style: linux -*- */
  2.  
  3. /* Bonobo_ConfigArchiver.idl
  4.  * Copyright (C) 2001 Ximian, Inc.
  5.  *
  6.  * Written by Bradford Hovinen <hovinen@ximian.com>
  7.  *
  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)
  11.  * any later version.
  12.  *
  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.
  17.  *
  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
  21.  * 02111-1307, USA.
  22.  */
  23.  
  24. #ifndef __CONFIGARCHIVER_IDL
  25. #define __CONFIGARCHIVER_IDL
  26.  
  27. %{
  28. #pragma include_defs bonobo/Bonobo.h
  29. %}
  30. #pragma inhibit push
  31.  
  32. #include <Bonobo_Unknown.idl>
  33.  
  34. #pragma inhibit pop
  35.  
  36. module ConfigArchiver {
  37.     typedef unsigned long long Time;
  38.     typedef sequence<string> StringSeq;
  39.  
  40.     enum ContainmentType {
  41.         CONTAIN_NONE, CONTAIN_PARTIAL, CONTAIN_FULL
  42.     };
  43.  
  44.     enum StoreType {
  45.         STORE_DEFAULT, STORE_FULL, STORE_COMPARE_PARENT, STORE_MASK_PREVIOUS
  46.     };
  47.  
  48.     interface BackendList : Bonobo::Unknown {
  49.         readonly attribute StringSeq        backends;
  50.  
  51.         boolean            contains                 (in string            backendId);
  52.  
  53.         void               add                      (in string            backendId);
  54.         void               remove                   (in string            backendId);
  55.  
  56.         void               save                     ();
  57.     };
  58.  
  59.     interface Location : Bonobo::Unknown {
  60.         exception RollbackDataNotFound {};
  61.  
  62.         readonly attribute Location         parent;
  63.         readonly attribute string           path;
  64.         readonly attribute StringSeq        backendList;
  65.  
  66.         attribute string                    label;
  67.         attribute string                    id;
  68.  
  69.         string             getStorageFilename       (in string            backendId,
  70.                                  in boolean           isDefaultData);
  71.  
  72.         string             getRollbackFilename      (in Time              time,
  73.                                  in long              steps,
  74.                                  in string            backendId,
  75.                                  in boolean           parentChain)
  76.             raises (RollbackDataNotFound);
  77.  
  78.         void               storageComplete          (in string            filename);
  79.  
  80.         void               rollbackBackends         (in Time              time,
  81.                                  in long              steps,
  82.                                  in StringSeq         backendId,
  83.                                  in boolean           parentChain);
  84.  
  85.         Time               getModificationTime      (in string            backendId);
  86.  
  87.         ContainmentType    contains                 (in string            backendId);
  88.         long               addBackend               (in string            backendId,
  89.                                  in ContainmentType   type);
  90.         void               removeBackend            (in string            backendId);
  91.  
  92.         boolean            doesBackendChange        (in Location          location,
  93.                                  in string            backendId);
  94.  
  95.         void               garbageCollect           ();
  96.  
  97.         void               delete                   ();
  98.     };
  99.  
  100.     typedef sequence<Location> LocationSeq;
  101.  
  102.     interface Archive : Bonobo::Unknown {
  103.         exception LocationNotFound {};
  104.  
  105.         readonly attribute string      prefix;
  106.         readonly attribute boolean     isGlobal;
  107.         readonly attribute BackendList backendList;
  108.  
  109.         attribute Location             currentLocation;
  110.         attribute string               currentLocationId;
  111.  
  112.         Location           getLocation              (in string              locid)
  113.             raises (LocationNotFound);
  114.  
  115.         Location           createLocation           (in string              locid,
  116.                                  in string              label,
  117.                                  in Location            parent);
  118.  
  119.         LocationSeq        getChildLocations        (in Location            parent);
  120.     };
  121. };
  122.  
  123. #endif /* ! __CONFIGARCHIVER_IDL */
  124.