Ignore:
Timestamp:
2012-03-16T21:38:01+13:00 (12 years ago)
Author:
ak19
Message:

Many changes to get corba working again ever since the addition of RSS support meant that the method get_rss_items needed to be mirrored in the corba code. The corba code was not compiling then and it turned out we needed a later version of Mico's corba implementation (2.3.13 up from 2.3.5). Therefore the current commit not only corrects some errors in the recently added getRssItems() method but includes further changes: 1. namespaced use of iostream functions were required in some mpp files. 2. New types and member variables added to the corbaiface.idl interface file, to mirror the presence of equivalent variables in comtools.h which hadn't been ported over yet. (Such as the complex corba data type equivalent of collectionmetamap used in comtools.h.) This required (de)serialisation methods to be declared and implemented in corbatext_t.h and corbatext_t.mpp. The additional member variables for the corbaColInfoResponse in corbaiface.idl are now also unpacked in corbaproto.mpp along with the rest of the data structure. 3. Having changed from mico version 2.3.5 to 2.3.13 required code to changed to use POA instead of BOA. This also meant that skeleton files were no longer to be generated when running idl over corbaiface.idl. corbaserver inherits from a POA related object now instead of from the skeleton. 4. Makefile.in was updated to reflect these changes (absence of skeleton), includes a target to run IDL over the corbaiface.idl file to generate the necessary helper files, and corrects earlier oversights in updating the corba makefile with the rest of the changes made over time to runtime-src.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/corba/corbaiface.idl

    r24970 r25231  
    2323  corbatext_tarray values;
    2424};
     25
     26// colserver/comtypes.h defines collectionmeta_map of collectionmeta
     27// as (sorted) tuples of: metadata name -> lang -> value
     28// However, the C++ definition is:
     29// typedef map<text_t, text_tmap, lttext_t> collectionmeta_map;
     30// Where lttext_t is defined to be a sorting function in text_t.h
     31// Each collectionmeta name maps to one or more (lang,value) pairs.
     32// The struct below defines the entry for one collectionmeta name.
     33struct corbatext_tcollectionmeta {
     34  corbatext_t name;
     35  corbatext_tmap tuples;
     36  //corbatext_tarray languages;
     37  //corbatext_tarray values;
     38};
     39
     40typedef sequence<corbatext_tcollectionmeta> corbatext_tcollectionmeta_map;
     41
    2542
    2643// standard error values
     
    4764struct corbaColInfoResponse
    4865{
    49   boolean       useBook;
    50   corbaShortColInfo shoftInfo;
     66  corbaShortColInfo shortInfo;
     67  boolean           useBook;
    5168  boolean           isPublic;
    5269  boolean           isBeta;
     70
    5371  unsigned long     buildDate;
    5472  corbatext_tarray  ccsCols;        // Added 05/04/2000
     
    5775  unsigned long     numWords;
    5876  unsigned long     numBytes;
    59   corbatext_tmap    collectionMeta;
     77  corbatext_tcollectionmeta_map    collectionMeta; //corbatext_tmap    collectionMeta;
    6078  corbatext_tmap    format;
    6179  corbatext_tmap    building;
     
    6381  corbatext_t       httpprefix;     // Added 27/07/2000
    6482  corbatext_t       receptionist;
     83
     84  // The following member fields were added 14/03/2011 to
     85  // match up with ColInfoResponse_t definition in comtypes.h
     86
     87  boolean isSegmented;
     88  boolean isCollectGroup; // used to group a set of collections as one item on the home page
     89  unsigned long ccsOptions; // uses CCS #defines from above
     90  unsigned long stemIndexes; // uses SI #defines from above
     91  unsigned long numSections; // 0 if not known
     92  corbatext_tcollectionmeta_map  collection_macros; // for collectionmacro config directive (> gsdl 2.53)
     93  corbatext_t         buildType;           // 'mg' or 'mgpp' or 'lucene'
     94  corbatext_t         infodbType;          // 'gdbm', 'sqlite', etc.
     95  corbatext_t         authenticate;        // 'document' or 'collection'
     96  corbatext_t         auth_group;          // 'mygroup' 'yourgroup'
     97  corbatext_tmap      public_documents;    // the acl to allow access to listed documents
     98  corbatext_tmap      private_documents;   // the acl to disallow access to listed documents
     99  corbatext_tmap      dynamic_classifiers;
     100  corbatext_t         earliestDatestamp;   // For OAIserver validation. Time since linux Epoch, expressed as (long) integer value in string form
     101
    65102};
    66103
     
    227264                   inout corbaFilterResponse response,
    228265                   inout corbaComError error);
    229   void      get_rss_items (const text_t &collection,
    230                const text_t &gsdlhome,
    231                text_t &rss_items,
    232                comerror_t &err,
    233                ostream &logout);
    234 };
    235 
    236 };
     266
     267  void      getRssItems (in corbatext_t collection,
     268             in corbatext_t gsdlhome,
     269             inout corbatext_t rss_items,
     270             inout corbaComError error);
     271
     272};
     273
     274};
Note: See TracChangeset for help on using the changeset viewer.