2007-09-02 17:51:46 +02:00
format 40
"AssetManager" // ProcessingLayer::AssetManager
2007-09-04 05:09:08 +02:00
revision 5
2007-06-18 06:10:06 +02:00
modified_by 5 "hiv"
// class settings
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
//use case diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
//sequence diagram settings
2007-09-02 17:51:46 +02:00
show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
2007-06-18 06:10:06 +02:00
//collaboration diagram settings
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
//object diagram settings
write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
//component diagram settings
package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
draw_component_as_icon default show_component_req_prov default show_component_rea default
//deployment diagram settings
package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
draw_component_as_icon default show_component_req_prov default show_component_rea default
//state diagram settings
package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
show_activities default region_horizontally default drawing_language default
//activity diagram settings
package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
show_infonote default drawing_language default
2007-09-02 17:51:46 +02:00
classview 128901 "Assets"
//class diagram settings
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
//collaboration diagram settings
show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
//object diagram settings
write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
//sequence diagram settings
show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
//state diagram settings
package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
show_activities default region_horizontally default drawing_language default
//class settings
//activity diagram settings
package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
show_infonote default drawing_language default
classdiagram 130309 "Asset Kinds"
draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
size A4
end
classdiagram 130437 "Media-Asset Relations"
draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
size A4
end
class 136453 "Asset"
abstract visibility public stereotype "interface"
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
explicit_switch_type ""
comment "Superinterface describing especially the bookeeping properties of Assets"
attribute 130437 "id"
const_attribute public explicit_type "long"
init_value "AssetManager::register<KIND> (name, category, org, version)"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "Asset primary key."
end
attribute 130565 "name"
const_attribute public explicit_type "string"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "element ID, comprehensible but sanitized. The tuple (category, name, org) is unique."
end
classrelation 140421 // category (<unidirectional association>)
relation 138629 --->
a role_name "category" multiplicity "1" const_relation public
comment "primary tree like classification of the asset"
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 140421 // category (<unidirectional association>)
b multiplicity "*" parent class_ref 137221 // Category
association_type class_ref 137221 // Category
end
attribute 130821 "org"
const_attribute public explicit_type "string"
init_value "cin3"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "origin or authorship id. Can be a project abbreviation, a package id or just the authors nickname or UID. This allows for the compnent name to be more generic (e.g. \"blur\"). Default for all assets provided by the core cinelerra-3 codebase is \"cin3\"."
end
attribute 130949 "version"
const_attribute public explicit_type "uint"
init_value "1"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "version number of the thing or concept represented by this asset. Of each unique tuple (name, category, org) there will be only one version in the whole system. Version 0 is reserved for internal purposes. Versions are considered to be ordered, and any higher version is supposed to be fully backwards compatible to all previous versions."
end
attribute 131077 "groups"
protected explicit_type "set<string>"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "additional classification, selections or departments this asset belongs to. Groups are optional, non-exclusive and may be overlapping."
end
attribute 131205 "shortDesc"
const_attribute protected explicit_type "string"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "user visible Name-ID. To be localized."
end
attribute 131333 "longDesc"
const_attribute protected explicit_type "string"
cpp_decl " ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
java_decl ""
idl_decl ""
comment "user visible qualification of the thing, unit or concept represented by this asset. perferably \"in one line\". To be localized."
end
operation 132101 "getParents"
public explicit_return_type "vector<PAsset>"
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "List of entities this asset depends on or requires to be functional. May be empty. The head of this list can be considered the primary prerequisite"
end
operation 132229 "getDependant"
public explicit_return_type "vector<PAsset>"
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "All the other assets requiring this asset to be functional. For example, all the clips depending on a given media file. May be empty. The dependency relation is transitive."
end
operation 132869 "isActive"
public explicit_return_type "bool"
nparams 0
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "weather this asset is swithced on and consequently included in the fixture and participates in rendering"
end
operation 132997 "enable"
public explicit_return_type "void"
nparams 1
param in name "bool" explicit_type ""
nexceptions 1
exception class_ref 135941 // State
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "change the enabled status of this asset. Note the corresponding #isActive predicate may depend on the enablement status of parent assets as well"
end
end
class 136581 "AssetManager"
visibility public stereotype "boundary"
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
explicit_switch_type ""
comment "Facade for the Asset subsystem"
operation 132357 "register"
class_operation public explicit_return_type "long"
nparams 4
param inout name "name" explicit_type "string"
param inout name "category" explicit_type "string"
param inout name "org" explicit_type "string"
param inout name "uint" explicit_type "version"
nexceptions 1
explicit_exception "Invalid"
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3}& ${p3}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${t0} & ${p0}, ${t1} & ${p1}, ${t2} & ${p2}, ${t3}& ${p3}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "registers an asset object in the internal DB, providing its unique key"
end
operation 132485 "getAsset"
public explicit_return_type "KIND"
nparams 1
param in name "id" explicit_type "long"
nexceptions 1
exception class_ref 136069 // Invalid
cpp_decl " ${comment}template<class KIND>
${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} & ${p0}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}template<class KIND>
${inline}${type}
${class}::${name} ${(}${t0} & ${p0}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "find and return corresponging object"
end
operation 132613 "known"
public explicit_return_type "bool"
nparams 1
param in name "id" explicit_type "long"
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} ${p0}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${t0} ${p0}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "@return true if the given id is registered in the internal asset DB"
end
operation 132741 "remove"
public explicit_return_type "void"
nparams 1
param in name "id" explicit_type "long"
nexceptions 2
exception class_ref 136069 // Invalid
exception class_ref 135941 // State
cpp_decl " ${comment}${friend}${static}${inline}${virtual}${type} ${name} ${(}${t0} ${p0}${)}${const}${volatile} ${throw}${abstract};"
cpp_def "${comment}${inline}${type}
${class}::${name} ${(}${t0} ${p0}${)}${const}${volatile} ${throw}${staticnl}
{
${body}
}
"
comment "remove the given asset <i>together with all its dependants</i> from the internal DB"
end
end
class 136709 "Media"
visibility public
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "key abstraction: media-like assets"
classrelation 139909 // <realization>
relation 138117 -_-|>
a public
cpp default "${type}"
classrelation_ref 139909 // <realization>
b multiplicity "" parent class_ref 136453 // Asset
end
end
class 136837 "Proc"
visibility public
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "key abstraction: data processing asset"
classrelation 140037 // <realization>
relation 138245 -_-|>
a public
cpp default "${type}"
classrelation_ref 140037 // <realization>
b multiplicity "" parent class_ref 136453 // Asset
end
end
class 136965 "Struct"
visibility public
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "key abstraction: structural asset"
classrelation 140165 // <realization>
relation 138373 -_-|>
a public
cpp default "${type}"
classrelation_ref 140165 // <realization>
b multiplicity "" parent class_ref 136453 // Asset
end
end
class 137093 "Meta"
visibility public
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "key abstraction: metadata and organisational asset"
classrelation 140293 // <realization>
relation 138501 -_-|>
a public
cpp default "${type}"
classrelation_ref 140293 // <realization>
b multiplicity "" parent class_ref 136453 // Asset
end
end
class 137221 "Category"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "tree like classification of Assets"
end
class 137349 "Clip"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "bookkeeping (asset) view of a media clip."
classrelation 140549 // <generalisation>
relation 138757 ---|>
a public
cpp default "${type}"
classrelation_ref 140549 // <generalisation>
b multiplicity "" parent class_ref 136709 // Media
end
classrelation 141957 // source (<unidirectional association>)
relation 140165 --->
a role_name "source" multiplicity "1" const_relation protected
comment "media source of this clip"
cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value};
"
classrelation_ref 141957 // source (<unidirectional association>)
b multiplicity "*" parent class_ref 136709 // Media
association_type class_ref 136709 // Media
end
end
class 137477 "Unknown"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "placeholder for unknown or unavailable media source"
classrelation 140933 // <generalisation>
relation 139141 ---|>
a public
cpp default "${type}"
classrelation_ref 140933 // <generalisation>
b multiplicity "" parent class_ref 137605 // Preview
end
end
class 137605 "Preview"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "alternative version of the media data, probably with lower resolution"
classrelation 140805 // <generalisation>
relation 139013 ---|>
a public
cpp default "${type}"
classrelation_ref 140805 // <generalisation>
b multiplicity "" parent class_ref 136709 // Media
end
end
class 137733 "Effect"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "Effect or media processing component"
classrelation 141061 // <generalisation>
relation 139269 ---|>
a public
cpp default "${type}"
classrelation_ref 141061 // <generalisation>
b multiplicity "" parent class_ref 136837 // Proc
end
end
class 137861 "Codec"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "description of some media data decoder or encoder facility"
classrelation 141189 // <generalisation>
relation 139397 ---|>
a public
cpp default "${type}"
classrelation_ref 141189 // <generalisation>
b multiplicity "" parent class_ref 136837 // Proc
end
end
class 137989 "Track"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "structural asset holding the configuration of a track in the EDL"
classrelation 141317 // <generalisation>
relation 139525 ---|>
a public
cpp default "${type}"
classrelation_ref 141317 // <generalisation>
b multiplicity "" parent class_ref 136965 // Struct
end
end
class 138117 "OutPort"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "structural asset corresponding to some port generating media output"
classrelation 141445 // <generalisation>
relation 139653 ---|>
a public
cpp default "${type}"
classrelation_ref 141445 // <generalisation>
b multiplicity "" parent class_ref 136965 // Struct
end
end
class 138245 "Dataset"
visibility package
cpp_decl "${comment}${template}class ${name}${inherit}
{
${members} };
${inlines}
"
java_decl ""
idl_decl ""
explicit_switch_type ""
comment "meta asset describing a collection of control data"
classrelation 141573 // <generalisation>
relation 139781 ---|>
a public
cpp default "${type}"
classrelation_ref 141573 // <generalisation>
b multiplicity "" parent class_ref 137093 // Meta
end
end
end
2007-06-18 06:10:06 +02:00
end