Hello I have updated my software to use the CDB API 2.2 and the CdbReaders initialization not working ,however in previous CDB API 2.1 version it works
any reason for this?
Our test have not returned problems. Can you try to compile the samples delivered with the CDB API and run those in order to validate the setup. If the problem persists, can you provide us the error code returned by the specific readers at fault.
Hi the error code that I receive is 0x20001000 - The operation is not allowed by the available license
As I mentioned before i version 2.1 it works
Additional issue related to T2DModelGeometry
There is a bug in CDB API 2.2 (28_2) support for T2DGeometryModel.
The API open T2DGeometryModel as Vector File, both in CDB API _2.1 (24_4), both enable loading of T2DGeometryModel tiles in CDB_Yemen_3_2 repository, but in Camp_Pendleton_3_0 version 2.2 (28_2) cause access violation –
Exception thrown at
I have tried the CDB API 2.2 with the sample applications without a license and it works. You will notice that we now have two solution files in the sample folder. The Samplemsxx.sln and the SamplePROmsxx.sln. The PRO solution includes more projects, the ones using the PRO features. Look at the description page (bottom) https://www.presagis.com/en/glossary/detail/ogc-cdb/ to see which features are in PRO. If you open the CDB in read/write (wDB.open(argv, eRead | eWrite) or you try to access the notification (mReader.addHook()), this would explain the error code.
In order to identify the issue, please:
1- Run the 4 samples provided in the non-PRO solution to confirm those work without license. From this point, you need to identify which call in your app is using the PRO feature. The fact that your app worked in CDB API 2.1 will be reviewed once we identify which PRO feature is being used or we identify the exact problem.
2 - Please provide the method you call which returns the error. You say the reader. This seems to point to call for hook registration which is a PRO feature. Please provide a code extract of the call. You can code your application to not use the Hook and still be able to decode your files, it is just that the file reading will be sync instead of async.
Note that if your application relies on CDB API PRO feature, you can acquire a license which is quite affordable for the benefits it brings. You can contact the Presagi support for this at firstname.lastname@example.org
As for the T2D in Camp_Pendleton_3_0 OpenFlight decoding, I was able to reproduce the problem. we are investigating. Please re-post your question in a different threads in order to facilitate tracking for us and searching for other CDB API users. meanwhile, we are investigating.
Thank you for reporting those.
In order to reproduce the CdbReaders initialization issue ,I have added to your sample CDBList (CDBList.cxx file) using samplesMs10.0.sln after opening the database ,I have added the following line
bool res = reader.initialize(NULL);
The returned result is false .
I have complied the 64 bit debug configuration.
Thanks for your response.
I was able to reproduce the test. I confirm that this is the new behavior in CDB API 2.2. The readers cannot be instantiated outside of a CDB context without a license. The CDB API will provide the correct reader support for a files that has been accessed via the CDB file interface. Look at the CDBDump sample to have all the CDB file decoding without instantiating the readers yourself.
So, if your files are in a CDB (which is what CDB API is for), you have all the CDB API services (including readers) you need. If your files are outside the CDB, a CDB API with a license would provide some reader functionality.
What do you mean outside the CDB context,as I mentioned it I using CdbReaders as part of the CDB API and it works in CDB API 2.1 version ,
In your release note written
“API changes from CDB API 2.1 to 2.2 are limited to the additions that limit migration effort. Application previously compiled with CDB-API 2.1 will recompile without any code change and should not present behavior differences.”
So I can't understand why this functionality not available anymore and there is need for PRO license
On the machine that I got the CdbReaders initialization issue runs also Presagis STAGE as a part of the STAGE license there is an cdb_sdk license
So I think that the reason it works in CDB API 2.1 so I can't understand why it not works in CDB API 2.2
I do not know the scope of your development on CDB API but you should be able to do it all without a license. For testing, it is best that you run on a machine without license or deactivate your license. I am offering my help in guiding you in the required changes to have deciding of your CDB files in your app. If you want to send a code sample between the reader instantiation and the decoding, we will guide you on the changes to make.