Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
7 : * Permission to use, copy, modify and distribute this software and its *
8 : * documentation strictly for non-commercial purposes is hereby granted *
9 : * without fee, provided that the above copyright notice appears in all *
10 : * copies and that both the copyright notice and this permission notice *
11 : * appear in the supporting documentation. The authors make no claims *
12 : * about the suitability of this software for any purpose. It is *
13 : * provided "as is" without express or implied warranty. *
14 : **************************************************************************/
15 :
16 : /* $Id$ */
17 :
18 : //////////////////////////////////////////////////////////////////////////
19 : // //
20 : // c interface to AliMDC //
21 : // //
22 : //////////////////////////////////////////////////////////////////////////
23 :
24 : #include "mdc.h"
25 : #include "AliMDC.h"
26 : #include "AliLog.h"
27 :
28 : void* alimdcCreate(int compress, int filterMode,
29 : double maxSizeTagDB, const char* fileNameTagDB,
30 : const char* guidFileFolder,
31 : int basketsize, long long autoflush)
32 : {
33 : // create an AliMDC object
34 :
35 0 : return new AliMDC(compress, kFALSE, AliMDC::EFilterMode(filterMode),
36 : maxSizeTagDB, fileNameTagDB,
37 : guidFileFolder,
38 : basketsize,autoflush);
39 :
40 0 : }
41 :
42 : int alimdcOpen(void* alimdc, int mode, const char* fileName)
43 : {
44 : // open a new raw DB
45 :
46 0 : return ((AliMDC*)alimdc)->Open(AliMDC::EWriteMode(mode), fileName);
47 : }
48 :
49 : int alimdcProcessEvent(void* alimdc, void* event, int isIovecArray)
50 : {
51 : // process one event
52 :
53 0 : return ((AliMDC*)alimdc)->ProcessEvent(event, isIovecArray);
54 : }
55 :
56 : long long alimdcGetTotalFileSize(void* alimdc)
57 : {
58 : // return the total current file size
59 :
60 0 : return ((AliMDC*)alimdc)->GetTotalSize();
61 : }
62 :
63 : long long alimdcClose(void* alimdc)
64 : {
65 : // close the raw DB
66 :
67 0 : return ((AliMDC*)alimdc)->Close();
68 : }
69 :
70 : void alimdcDelete(void* alimdc)
71 : {
72 : // delete the AliMDC object
73 :
74 0 : delete (AliMDC*)alimdc;
75 0 : }
76 :
77 : void alimdcEnableDebug()
78 : {
79 : // enable debug and log messages
80 :
81 0 : AliLog::EnableDebug(kTRUE);
82 0 : AliLog::SetGlobalLogLevel(AliLog::kMaxType);
83 0 : AliLog::SetGlobalDebugLevel(AliLog::kMaxType);
84 0 : AliLog::SetPrintRepetitions(kFALSE);
85 0 : AliLog::SetHandleRootMessages(kTRUE);
86 0 : }
87 :
88 : long long alimdcAutoSave(void* alimdc)
89 : {
90 : // Auto-save the raw-data tree
91 :
92 0 : return ((AliMDC*)alimdc)->AutoSave();
93 : }
94 :
|