63 virtual void Init(
void);
64 virtual int Run(
void);
65 virtual void Exit(
void);
81 arg_desc->SetUsageContext(
GetArguments().GetProgramBasename(),
82 "Concatenate all the seq entries from a cache.");
84 arg_desc->AddKey(
"cache",
"Cache",
85 "Path to ASN.1 cache",
88 arg_desc->AddDefaultKey(
"o",
"SeqEntryFile",
89 "Write the seq entries here.",
107 CDir cache_dir( args[
"cache"].AsString() );
108 if (! cache_dir.
Exists() ) {
111 }
else if ( ! cache_dir.
IsDir() ) {
113 <<
"valid cache path!" );
130 size_t chunk_count = 0;
131 size_t seq_entry_count = 0;
133 CNcbiIfstream chunk_stream( (*chunk_file_iter)->GetPath().c_str() );
138 blob_asn_stream >> a_blob;
146 a_blob.UnPack( a_seq_entry );
147 output_asn_stream << a_seq_entry;
153 ERR_POST(
Error <<
"Object stream exception on chunk number " << chunk_count );
158 LOG_POST(
Info <<
"Finished processing " << (*chunk_file_iter)->GetPath() );
161 LOG_POST(
Info << seq_entry_count <<
" seq entries from "
162 << chunk_count <<
" chunks written." );
180 int main(
int argc,
const char* argv[])
Contains the class definiton for CAsnCache, the main client class for accessing the ASN cache data.
virtual int Run(void)
Run the application.
virtual void Init(void)
Initialize the application.
virtual void Exit(void)
Cleanup on application exit.
CObjectIStreamAsnBinary –.
CObjectOStreamAsnBinary –.
CZipStreamCompressor – zlib based compression stream processor.
void DumpSeqEntries(CDir &cache_path, CNcbiOstream &output_stream)
int main(int argc, const char *argv[])
virtual const CArgs & GetArgs(void) const
Get parsed command line arguments.
int AppMain(int argc, const char *const *argv, const char *const *envp=0, EAppDiagStream diag=eDS_Default, const char *conf=NcbiEmptyCStr, const string &name=NcbiEmptyString)
Main function (entry point) for the NCBI application.
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
const CNcbiArguments & GetArguments(void) const
Get the application's cached unprocessed command-line arguments.
@ eInputFile
Name of file (must exist and be readable)
@ eOutputFile
Name of file (must be writable)
@ fGZip
Set of flags for gzip file support. See each flag description above.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void SetDiagStream(CNcbiOstream *os, bool quick_flush=true, FDiagCleanup cleanup=0, void *cleanup_data=0, const string &stream_name="")
Set diagnostic stream.
void Error(CExceptionArgs_Base &args)
void Info(CExceptionArgs_Base &args)
TEntries GetEntries(const string &mask=kEmptyStr, TGetEntriesFlags flags=0) const
Get directory entries based on the specified "mask".
virtual bool Exists(void) const
Check if directory "dirname" exists.
bool IsDir(EFollowLinks follow=eFollowLinks) const
Check whether a directory entry is a directory.
const string & GetPath(void) const
Get entry path.
@ fCreateObjects
Create appropriate subclasses of CDirEntry (CFile,CDir,...), not just CDirEntry objects.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
void Start(void)
Start the timer.
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
Defines command line argument related classes.
Defines unified interface to application:
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.