1# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
2# See LICENSE.txt for complete terms.
3
4from mixbox import fields
5
6import cybox.bindings.product_object as product_binding
7from cybox.common import ObjectProperties, String
8from cybox.common.object_properties import ObjectPropertiesFactory
9
10
11class Product(ObjectProperties):
12    _binding = product_binding
13    _binding_class = product_binding.ProductObjectType
14    _namespace = 'http://cybox.mitre.org/objects#ProductObject-2'
15    _XSI_NS = 'ProductObj'
16    _XSI_TYPE = "ProductObjectType"
17
18    edition = fields.TypedField("Edition", String)
19    language = fields.TypedField("Language", String)
20    product = fields.TypedField("Product", String)
21    update = fields.TypedField("Update", String)
22    vendor = fields.TypedField("Vendor", String)
23    version = fields.TypedField("Version", String)
24    device_details = fields.TypedField("Device_Details", ObjectProperties, factory=ObjectPropertiesFactory)
25