? LICENSE.txt
? blah.patch
? diff.diff
? uc_product-ctools-export.patch
? uc_product-features-880770-11.patch
? uc_product-features-880770-3.patch
? uc_product/uc_product.module.loader.thingy
Index: uc_product/uc_product.features.inc
===================================================================
RCS file: uc_product/uc_product.features.inc
diff -N uc_product/uc_product.features.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ uc_product/uc_product.features.inc	6 Oct 2010 08:22:30 -0000
@@ -0,0 +1,40 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Features integration for Ubercart product classes.
+ */
+
+/**
+ * Implementation of hook_features_export_options().
+ */
+function uc_product_features_export_options() {
+  return uc_product_type_names();
+}
+
+/**
+ * Implementation of hook_features_export().
+ */
+function uc_product_features_export($data, &$export, $module_name = 'uc_product') {
+  // Export node type entries from {uc_product_classes}.
+  ctools_component_features_export('uc_product_classes', $data, $export, $module_name);
+
+  // Next, run the node type exporter to grab CCK fields and variables.
+  return array('node' => $data);
+}
+
+/**
+ * Implementation of hook_features_export_render().
+ */
+function uc_product_features_export_render($module, $data, $export = NULL) {
+  $output = node_features_export_render($module, $data, $export);
+  return array('node_info' => $output['node_info']);
+}
+
+/**
+ * Implementation of hook_features_revert().
+ */
+function uc_product_features_revert($module = 'uc_product') {
+  node_features_revert($module);
+}
Index: uc_product/uc_product.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_product/uc_product.install,v
retrieving revision 1.12.2.12
diff -u -p -r1.12.2.12 uc_product.install
--- uc_product/uc_product.install	19 Mar 2010 21:27:18 -0000	1.12.2.12
+++ uc_product/uc_product.install	6 Oct 2010 08:22:30 -0000
@@ -14,6 +14,19 @@ function uc_product_schema() {
 
   $schema['uc_product_classes'] = array(
     'description' => 'The list of product node types.',
+    'export' => array(
+      'key' => 'pcid',
+      'key name' => 'Ubercart product class machine name',
+      'primary key' => 'pcid',
+      'identifier' => 'uc_product_class',
+      'default_hook' => 'uc_product_default_classes',
+      'api' => array(
+        'owner' => 'uc_product',
+        'api' => 'uc_product_default',
+        'minimum_version' => 1,
+        'current_version' => 1,
+      ),
+    ),
     'fields' => array(
       'pcid' => array(
         'description' => 'The node type identifier.',
Index: uc_product/uc_product.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_product/uc_product.module,v
retrieving revision 1.14.2.44
diff -u -p -r1.14.2.44 uc_product.module
--- uc_product/uc_product.module	28 Sep 2010 20:08:54 -0000	1.14.2.44
+++ uc_product/uc_product.module	6 Oct 2010 08:22:31 -0000
@@ -2134,3 +2134,18 @@ function uc_product_views_api() {
     'path' => drupal_get_path('module', 'uc_product') .'/views',
   );
 }
+
+/**
+ * Implementation of hook_features_api().
+ */
+function uc_product_features_api() {
+  return array(
+    'uc_product' => array(
+      'name' => t('Ubercart product types'),
+      'feature_source' => TRUE,
+      'default_hook' => 'uc_product_node_info',
+      'default_file' => FEATURES_DEFAULTS_INCLUDED,
+      'file' => drupal_get_path('module', 'uc_product') .'/uc_product.features.inc',
+    ),
+  );
+}
