Base class for resources that use a temporary directory. More...
#include <resource_internal.hpp>
Handles cleanup of temporary directory and lock file upon destruction.
Extra doc: https://github.com/casadi/casadi/wiki/L_2js
Definition at line 99 of file resource_internal.hpp.


Public Types | |
| using | weak_ref_type = WeakRefInternal |
Public Member Functions | |
| TemporaryDirResource (const std::string &base_name, const std::string &suffix="") | |
| Create with a base name - sets up lock file and directory. More... | |
| ~TemporaryDirResource () override | |
| const std::string & | path () const override |
| Get path for a consumer. More... | |
| std::string | class_name () const override |
| Get type name. More... | |
| void | disp (std::ostream &stream, bool more) const override |
| Print description. More... | |
| void | serialize (SerializingStream &s) const |
| virtual void | serialize_type (SerializingStream &s) const |
| virtual void | serialize_body (SerializingStream &s) const |
| void | change_option (const std::string &option_name, const GenericType &option_value) |
| casadi_int | getCount () const |
| Get the reference count. More... | |
| std::string | debug_repr (const SharedObjectInternal *) const |
| GenericWeakRef< SharedObject, SharedObjectInternal > * | weak () |
| Get a weak reference to the object. More... | |
Static Public Member Functions | |
| static ResourceInternal * | deserialize (DeserializingStream &s) |
Protected Member Functions | |
| TemporaryDirResource () | |
| TemporaryDirResource (DeserializingStream &s) | |
| void | setup_temp_dir (const std::string &base_name, const std::string &suffix="") |
| Set up lock file and directory paths from a base name. More... | |
| void | initSingleton () |
| void | destroySingleton () |
| B | shared_from_this () |
| Get a shared object from the current internal object. More... | |
| const B | shared_from_this () const |
| Get a shared object from the current internal object. More... | |
Protected Attributes | |
| std::string | lock_file_ |
| std::string | dir_ |
| std::string | serialize_mode_ |
|
inherited |
Definition at line 152 of file shared_object.hpp.
| casadi::TemporaryDirResource::TemporaryDirResource | ( | const std::string & | base_name, |
| const std::string & | suffix = "" |
||
| ) |
Definition at line 127 of file resource_internal.cpp.
References setup_temp_dir().
|
override |
Definition at line 136 of file resource_internal.cpp.
References dir_, lock_file_, casadi::Filesystem::remove(), and casadi::Filesystem::remove_all().
|
inlineexplicitprotected |
Definition at line 115 of file resource_internal.hpp.
|
inlineexplicitprotected |
Definition at line 116 of file resource_internal.hpp.
|
inherited |
Definition at line 53 of file resource_internal.cpp.
References casadi::ResourceInternal::serialize_mode_, and casadi::GenericType::to_string().
|
inlineoverridevirtual |
Extra doc: https://github.com/casadi/casadi/wiki/L_2jt
Implements casadi::SharedObjectInternal.
Reimplemented in casadi::ZipMemResource, and casadi::ZipResource.
Definition at line 110 of file resource_internal.hpp.
|
inherited |
Definition at line 62 of file generic_shared_internal.hpp.
|
staticinherited |
Definition at line 168 of file resource_internal.cpp.
References casadi::SharedObjectInternal::class_name(), casadi::DirResource::deserialize(), casadi::ZipResource::deserialize(), casadi::ZipMemResource::deserialize(), casadi::DeserializingStream::unpack(), and casadi::DeserializingStream::version().
Referenced by casadi::Resource::deserialize().
|
inlineprotectedinherited |
Called in the destructor of singletons
Definition at line 77 of file generic_shared_internal.hpp.
|
overridevirtual |
Implements casadi::SharedObjectInternal.
Reimplemented in casadi::ZipMemResource, and casadi::ZipResource.
Definition at line 132 of file resource_internal.cpp.
References dir_.
|
inherited |
Definition at line 60 of file generic_shared_internal.hpp.
|
inlineprotectedinherited |
Called in the constructor of singletons to avoid that the counter reaches zero
Definition at line 71 of file generic_shared_internal.hpp.
|
inlineoverridevirtual |
Implements casadi::ResourceInternal.
Definition at line 105 of file resource_internal.hpp.
Referenced by casadi::open_resource(), and casadi::ZipResource::ZipResource().
|
inherited |
Definition at line 149 of file resource_internal.cpp.
References casadi::ResourceInternal::serialize_body(), casadi::ResourceInternal::serialize_type(), and casadi::SerializingStream::version().
|
virtualinherited |
Reimplemented in casadi::ZipMemResource, casadi::ZipResource, and casadi::DirResource.
Definition at line 159 of file resource_internal.cpp.
References casadi::SerializingStream::pack(), and casadi::ResourceInternal::serialize_mode_.
Referenced by casadi::ResourceInternal::serialize(), casadi::DirResource::serialize_body(), casadi::ZipResource::serialize_body(), and casadi::ZipMemResource::serialize_body().
|
virtualinherited |
Reimplemented in casadi::ZipResource, and casadi::DirResource.
Definition at line 155 of file resource_internal.cpp.
References casadi::SharedObjectInternal::class_name(), and casadi::SerializingStream::pack().
Referenced by casadi::ResourceInternal::serialize().
|
protected |
Definition at line 116 of file resource_internal.cpp.
References casadi::Filesystem::absolute(), casadi::Filesystem::create_directories(), dir_, lock_file_, and casadi::temporary_file().
Referenced by TemporaryDirResource(), casadi::ZipResource::unpack(), and casadi::ZipMemResource::unpack().
|
inlineprotectedinherited |
Definition at line 83 of file generic_shared_internal.hpp.
|
inlineprotectedinherited |
Definition at line 92 of file generic_shared_internal.hpp.
|
inherited |
Extra doc: https://github.com/casadi/casadi/wiki/L_1ai
Definition at line 67 of file generic_shared_internal.hpp.
|
protected |
Definition at line 120 of file resource_internal.hpp.
Referenced by disp(), casadi::ZipResource::disp(), casadi::ZipMemResource::disp(), setup_temp_dir(), casadi::ZipResource::unpack(), casadi::ZipMemResource::unpack(), and ~TemporaryDirResource().
|
protected |
Definition at line 119 of file resource_internal.hpp.
Referenced by setup_temp_dir(), and ~TemporaryDirResource().
|
protectedinherited |
Definition at line 63 of file resource_internal.hpp.
Referenced by casadi::ResourceInternal::change_option(), casadi::ResourceInternal::ResourceInternal(), casadi::ResourceInternal::serialize_body(), casadi::DirResource::serialize_body(), casadi::ZipResource::serialize_body(), casadi::DirResource::serialize_type(), and casadi::ZipResource::serialize_type().