mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-22 14:38:14 +02:00
included svninfo header file which gets populated when exportSoftware from newMythenSoftware is executed
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@384 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
3422686e51
commit
c43fe9b10e
@ -1,7 +1,7 @@
|
|||||||
CFLAGS= -DC_ONLY -fPIC
|
CFLAGS= -DC_ONLY -fPIC
|
||||||
#FLAGS+= #-DVERBOSE -DVERYVERBOSE
|
#FLAGS+= #-DVERBOSE -DVERYVERBOSE
|
||||||
|
|
||||||
DFLAGS= -DDACS_INT
|
DFLAGS= -DDACS_INT -DTHIS_PATH='"$(shell pwd)"'
|
||||||
|
|
||||||
#ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
#ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||||
|
|
||||||
@ -28,7 +28,6 @@ DOCDIR ?= docs
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all: package $(SRC_CLNT)
|
all: package $(SRC_CLNT)
|
||||||
echo "compiling all"
|
echo "compiling all"
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <bitset>
|
#include <bitset>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include "svnInfo.h"
|
||||||
|
|
||||||
|
|
||||||
int slsDetector::initSharedMemory(detectorType type, int id) {
|
int slsDetector::initSharedMemory(detectorType type, int id) {
|
||||||
|
|
||||||
@ -1572,13 +1574,9 @@ slsDetectorDefs::externalCommunicationMode slsDetector::setExternalCommunication
|
|||||||
|
|
||||||
int64_t slsDetector::getId( idMode mode, int imod){
|
int64_t slsDetector::getId( idMode mode, int imod){
|
||||||
|
|
||||||
|
|
||||||
int64_t retval=-1;
|
int64_t retval=-1;
|
||||||
int fnum=F_GET_ID;
|
int fnum=F_GET_ID;
|
||||||
int ret=FAIL;
|
int ret=FAIL;
|
||||||
int64_t rev=0;
|
|
||||||
int rev1;
|
|
||||||
|
|
||||||
char mess[100];
|
char mess[100];
|
||||||
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
@ -1590,10 +1588,8 @@ int64_t slsDetector::getId( idMode mode, int imod){
|
|||||||
#endif
|
#endif
|
||||||
if (mode==THIS_SOFTWARE_VERSION) {
|
if (mode==THIS_SOFTWARE_VERSION) {
|
||||||
ret=OK;
|
ret=OK;
|
||||||
sscanf(THIS_REVISION,"$Rev : %x",&rev1);
|
svnInfo* s = new svnInfo(THIS_PATH);
|
||||||
rev=((int64_t)rev1);
|
retval=(thisSoftwareVersion<<32) | (s->getRevision());
|
||||||
|
|
||||||
retval=(thisSoftwareVersion<<32) | rev;
|
|
||||||
} else {
|
} else {
|
||||||
if (thisDetector->onlineFlag==ONLINE_FLAG) {
|
if (thisDetector->onlineFlag==ONLINE_FLAG) {
|
||||||
if (controlSocket) {
|
if (controlSocket) {
|
||||||
|
120
slsDetectorSoftware/svnInfo.h
Normal file
120
slsDetectorSoftware/svnInfo.h
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
#ifndef SVN_INFO_H
|
||||||
|
#define SVN_INFO_H
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <fstream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @short reads svnInfo.txt and populates this class members
|
||||||
|
*/
|
||||||
|
|
||||||
|
class svnInfo{
|
||||||
|
public:
|
||||||
|
/** Constructor : populates the class members from svnInfo.txt*/
|
||||||
|
svnInfo(string const path){
|
||||||
|
revision=0;
|
||||||
|
char fName[100];
|
||||||
|
strcpy(fName,path.c_str());
|
||||||
|
strcat(fName,"/svnInfo.txt");
|
||||||
|
//read from file and populate class
|
||||||
|
string sLine,sArgName;
|
||||||
|
ifstream inFile;
|
||||||
|
inFile.open(fName, ifstream::in);
|
||||||
|
if(inFile.is_open())
|
||||||
|
{
|
||||||
|
while(inFile.good())
|
||||||
|
{
|
||||||
|
getline(inFile,sLine);
|
||||||
|
istringstream sstr(sLine);
|
||||||
|
|
||||||
|
if(sstr.good()){
|
||||||
|
sstr>>sArgName;
|
||||||
|
|
||||||
|
if(sArgName=="Path:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>Path;
|
||||||
|
}
|
||||||
|
else if(sArgName=="URL:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>URL;
|
||||||
|
}
|
||||||
|
else if(sArgName=="Repository"){
|
||||||
|
|
||||||
|
if(sstr.good()){
|
||||||
|
sstr>>sArgName;
|
||||||
|
|
||||||
|
if(sArgName=="Root:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>repositoryRoot;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>repositoryUUID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(sArgName=="Revision:"){
|
||||||
|
if(sstr.good()){
|
||||||
|
int rev=0;
|
||||||
|
sstr>>sArgName;
|
||||||
|
sscanf(sArgName.c_str(),"%x",&rev);
|
||||||
|
revision = ((int64_t)rev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(sArgName=="NodeKind:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>nodeKind;
|
||||||
|
}
|
||||||
|
else if(sArgName=="Schedule:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>schedule;
|
||||||
|
}
|
||||||
|
else if(sArgName=="Last"){
|
||||||
|
if(sstr.good()){
|
||||||
|
if(sstr.good()){
|
||||||
|
sstr>>sArgName;
|
||||||
|
|
||||||
|
if(sArgName=="Author:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>lastChangedAuthor;
|
||||||
|
}
|
||||||
|
else if(sArgName=="Rev:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>lastChangedRev;
|
||||||
|
}
|
||||||
|
else if(sArgName=="Date:"){
|
||||||
|
if(sstr.good())
|
||||||
|
sstr>>lastChangedDate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inFile.close();
|
||||||
|
}else
|
||||||
|
cout << "ERROR: Could not open svn Info file: svnInfo.txt" << endl;
|
||||||
|
};
|
||||||
|
|
||||||
|
/** Returns revision */
|
||||||
|
int64_t getRevision(){return revision;};
|
||||||
|
|
||||||
|
private:
|
||||||
|
string Path;
|
||||||
|
string URL;
|
||||||
|
string repositoryRoot;
|
||||||
|
string repositoryUUID;
|
||||||
|
int64_t revision;
|
||||||
|
string nodeKind;
|
||||||
|
string schedule;
|
||||||
|
string lastChangedAuthor;
|
||||||
|
string lastChangedRev;
|
||||||
|
string lastChangedDate;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user